Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,43 @@ spoAndCCVotingSpec = do
else do
getLastEnactedParameterChange `shouldReturn` SNothing
newRefScriptBaseFee `shouldBe` initialRefScriptBaseFee
it "Constitution cannot be changed if active committee size is below min size" . whenPostBootstrap $ do
modifyPParams $ \pp ->
pp
& ppDRepVotingThresholdsL . dvtUpdateToConstitutionL .~ (0 %! 1)
& ppCommitteeMinSizeL .~ 2
& ppCommitteeMaxTermLengthL .~ EpochInterval 50
coldCommitteeActive <- KeyHashObj <$> freshKeyHash
coldCommitteeInactive <- KeyHashObj <$> freshKeyHash
startingEpoch <- getsNES nesELL
maxTermLength <- getsPParams ppCommitteeMaxTermLengthL
(dRep, _, _) <- setupSingleDRep 1_000_000_000
(spo, _, _) <- setupPoolWithStake $ Coin 1_000_000_000
let
committeeMap =
[ (coldCommitteeActive, addEpochInterval startingEpoch maxTermLength)
, (coldCommitteeInactive, addEpochInterval startingEpoch $ EpochInterval 5)
]
initialCommittee <- getCommitteeMembers
committeeActionId <-
impAnn "Submit committee update"
. submitGovAction
$ UpdateCommittee
SNothing
initialCommittee
committeeMap
(0 %! 1)
submitYesVote_ (DRepVoter dRep) committeeActionId
submitYesVote_ (StakePoolVoter spo) committeeActionId
passNEpochs 2
getCommitteeMembers `shouldReturn` Map.keysSet committeeMap
passNEpochs 3
newConstitution <- arbitrary
constitutionActionId <- submitGovAction $ NewConstitution SNothing newConstitution
logRatificationChecks constitutionActionId
passNEpochs 2
getConstitution `shouldNotReturn` newConstitution
True `shouldBe` False

committeeExpiryResignationDiscountSpec ::
forall era.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,6 @@ spec =
-- LEDGER tests pending on the dRep delegations cleanup in the spec:
-- https://github.com/IntersectMBO/formal-ledger-specifications/issues/635
xdescribe "LEDGER" Ledger.spec
xdescribe "RATIFY" Ratify.spec
describe "RATIFY" Ratify.spec
xdescribe "UTXO" Utxo.spec
xdescribe "UTXOS" Utxos.spec
Loading