Skip to content

Commit 3f50234

Browse files
committed
Fix and re-instate Babbage simpleRewards test
`allPoolStakeCert` needed some adjustments after the `UMap` purge in `cardano-ledger` and had to make sure that we don't re-register already registered staking credentials. Also, because validations were turned off apparently, `FailedToValidateSlot` was not triggered but rather we ended up in an invalid state (the associated delegations were dropped in the account state), thus resulting in a test failure. With validation, attempting to re-register already registered staking credentials would trigger the `StakeKeyAlreadyRegisteredDELEG` predicate failure as per the `DELEG` rule.
1 parent aa5d983 commit 3f50234

File tree

2 files changed

+8
-10
lines changed

2 files changed

+8
-10
lines changed

cardano-chain-gen/src/Cardano/Mock/Forging/Tx/Generic.hs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -190,16 +190,14 @@ resolvePool pix st = case pix of
190190

191191
allPoolStakeCert :: EraCertState era => LedgerState (ShelleyBlock p era) mk -> [ShelleyTxCert era]
192192
allPoolStakeCert st =
193-
ShelleyTxCertDelegCert . ShelleyRegCert <$> nub creds
193+
ShelleyTxCertDelegCert . ShelleyRegCert <$> notRegisteredCreds
194194
where
195-
poolParms =
196-
let certState =
197-
lsCertState $
198-
esLState $
199-
nesEs $
200-
Consensus.shelleyLedgerState st
201-
in Map.elems $ Map.mapWithKey stakePoolStateToPoolParams (certState ^. certPStateL . psStakePoolsL)
195+
certState =
196+
Consensus.shelleyLedgerState st ^. nesEsL . esLStateL . lsCertStateL
197+
poolParms = Map.elems $ Map.mapWithKey stakePoolStateToPoolParams (certState ^. certPStateL . psStakePoolsL)
202198
creds = concatMap getPoolStakeCreds poolParms
199+
notRegisteredCreds =
200+
filter (`Map.notMember` (certState ^. certDStateL . accountsL . accountsMapL)) $ nub creds
203201

204202
getPoolStakeCreds :: PoolParams -> [StakeCredential]
205203
getPoolStakeCreds pparams =

cardano-chain-gen/test/Test/Cardano/Db/Mock/Unit/Babbage.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ unitTests iom knownMigrations =
3636
]
3737
, testGroup
3838
"rewards"
39-
[ -- test "rewards simple" BabReward.simpleRewards TODO: possible upstream changed in shelley genesis
40-
test "rewards with deregistration" BabReward.rewardsDeregistration
39+
[ test "rewards simple" BabReward.simpleRewards
40+
, test "rewards with deregistration" BabReward.rewardsDeregistration
4141
, test "rewards with reregistration. Fixed in Babbage." BabReward.rewardsReregistration
4242
, test "Mir Cert" BabReward.mirReward
4343
, -- , test "Mir rollback" mirRewardRollback

0 commit comments

Comments
 (0)