disallow calling UnlockStake without any stake inputs

This commit is contained in:
Hongrui Fang 2022-11-10 18:47:07 +08:00
parent f9a1e3b87f
commit 30a44483a1
No known key found for this signature in database
GPG key ID: F10AB2CCE24113DD

View file

@ -325,16 +325,21 @@ proposalValidator =
presolveStakeInputDatum
# (ptoScottEncodingT # sstClass)
# txInfoF.datums
spendStakes' :: Term _ ((PStakeInputsContext :--> PUnit) :--> PUnit) <-
pletC $
plam $
let stakeInputs =
pmapMaybe @PList
# resolveStakeInputDatum
# pfromData txInfoF.inputs
plam $ \val -> unTermCont $ do
stakeInputs <-
pletC $
pmapMaybe @PList
# resolveStakeInputDatum
# pfromData txInfoF.inputs
ctx = pcon $ PStakeInputsContext stakeInputs
in (# ctx)
pguardC "Stake inputs not null" $
pnot #$ pnull # stakeInputs
let ctx = pcon $ PStakeInputsContext stakeInputs
pure $ val # ctx
let spendStakes ::
( PStakeInputsContext _ ->