test that invalid proposals cannot be created
This commit is contained in:
parent
996797995a
commit
5fc8a188a0
2 changed files with 24 additions and 5 deletions
|
|
@ -18,12 +18,13 @@ module Sample.Proposal.Create (
|
||||||
timeRangeNotClosedParameters,
|
timeRangeNotClosedParameters,
|
||||||
invalidProposalStatusParameters,
|
invalidProposalStatusParameters,
|
||||||
fakeSSTParameters,
|
fakeSSTParameters,
|
||||||
|
wrongGovernorRedeemer,
|
||||||
) where
|
) where
|
||||||
|
|
||||||
import Agora.Governor (
|
import Agora.Governor (
|
||||||
Governor (..),
|
Governor (..),
|
||||||
GovernorDatum (..),
|
GovernorDatum (..),
|
||||||
GovernorRedeemer (CreateProposal),
|
GovernorRedeemer (CreateProposal, MutateGovernor),
|
||||||
)
|
)
|
||||||
import Agora.Proposal (
|
import Agora.Proposal (
|
||||||
ProposalDatum (..),
|
ProposalDatum (..),
|
||||||
|
|
@ -122,6 +123,8 @@ data Parameters = Parameters
|
||||||
-- ^ The status of the newly created proposal.
|
-- ^ The status of the newly created proposal.
|
||||||
, fakeSST :: Bool
|
, fakeSST :: Bool
|
||||||
-- ^ Whether to use SST that doesn't belong to the stake validator.
|
-- ^ Whether to use SST that doesn't belong to the stake validator.
|
||||||
|
, wrongGovernorRedeemer :: Bool
|
||||||
|
-- ^ Use 'MutateGovernor' as the governor redeemer
|
||||||
}
|
}
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
@ -355,7 +358,7 @@ createProposal ps = builder
|
||||||
[ script governorValidatorHash
|
[ script governorValidatorHash
|
||||||
, withValue governorValue
|
, withValue governorValue
|
||||||
, withDatum governorInputDatum
|
, withDatum governorInputDatum
|
||||||
, withRedeemer governorRedeemer
|
, withRedeemer $ mkGovernorRedeemer ps
|
||||||
, withRef governorRef
|
, withRef governorRef
|
||||||
]
|
]
|
||||||
, output $
|
, output $
|
||||||
|
|
@ -416,8 +419,11 @@ stakeRedeemer :: StakeRedeemer
|
||||||
stakeRedeemer = PermitVote
|
stakeRedeemer = PermitVote
|
||||||
|
|
||||||
-- | Spend the governor with the 'CreateProposal' redeemer.
|
-- | Spend the governor with the 'CreateProposal' redeemer.
|
||||||
governorRedeemer :: GovernorRedeemer
|
mkGovernorRedeemer :: Parameters -> GovernorRedeemer
|
||||||
governorRedeemer = CreateProposal
|
mkGovernorRedeemer ps =
|
||||||
|
if ps.wrongGovernorRedeemer
|
||||||
|
then MutateGovernor
|
||||||
|
else CreateProposal
|
||||||
|
|
||||||
-- | Mint the PST with an arbitrary redeemer. Doesn't really matter.
|
-- | Mint the PST with an arbitrary redeemer. Doesn't really matter.
|
||||||
proposalPolicyRedeemer :: ()
|
proposalPolicyRedeemer :: ()
|
||||||
|
|
@ -437,6 +443,7 @@ totallyValidParameters =
|
||||||
, timeRangeClosed = True
|
, timeRangeClosed = True
|
||||||
, proposalStatus = Draft
|
, proposalStatus = Draft
|
||||||
, fakeSST = False
|
, fakeSST = False
|
||||||
|
, wrongGovernorRedeemer = False
|
||||||
}
|
}
|
||||||
|
|
||||||
invalidOutputGovernorDatumParameters :: Parameters
|
invalidOutputGovernorDatumParameters :: Parameters
|
||||||
|
|
@ -495,6 +502,12 @@ fakeSSTParameters =
|
||||||
{ fakeSST = True
|
{ fakeSST = True
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wrongGovernorRedeemer :: Parameters
|
||||||
|
wrongGovernorRedeemer =
|
||||||
|
totallyValidParameters
|
||||||
|
{ wrongGovernorRedeemer = True
|
||||||
|
}
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
{- | Create a test tree that runs the proposal minting policy, the governor
|
{- | Create a test tree that runs the proposal minting policy, the governor
|
||||||
|
|
@ -527,7 +540,7 @@ mkTestTree
|
||||||
"governor"
|
"governor"
|
||||||
governorValidator
|
governorValidator
|
||||||
governorInputDatum
|
governorInputDatum
|
||||||
governorRedeemer
|
(mkGovernorRedeemer ps)
|
||||||
(spend governorRef)
|
(spend governorRef)
|
||||||
|
|
||||||
stakeTest =
|
stakeTest =
|
||||||
|
|
|
||||||
|
|
@ -91,6 +91,12 @@ specs =
|
||||||
True
|
True
|
||||||
False
|
False
|
||||||
False
|
False
|
||||||
|
, Create.mkTestTree
|
||||||
|
"wrong governor redeemer"
|
||||||
|
Create.wrongGovernorRedeemer
|
||||||
|
False
|
||||||
|
False
|
||||||
|
True
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
, group
|
, group
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue