fix wired issue introduced by punsafeCoerce
This commit is contained in:
parent
6a887e4cbd
commit
a46a166a03
1 changed files with 10 additions and 12 deletions
|
|
@ -48,7 +48,6 @@ import Agora.SafeMoney (GTTag)
|
||||||
import Agora.Utils (pkeysEqual, pnotNull)
|
import Agora.Utils (pkeysEqual, pnotNull)
|
||||||
import Control.Applicative (Const)
|
import Control.Applicative (Const)
|
||||||
import Control.Arrow (first)
|
import Control.Arrow (first)
|
||||||
import Plutarch.Builtin (PBuiltinMap)
|
|
||||||
import Plutarch.DataRepr (DerivePConstantViaData (..), PDataFields, PIsDataReprInstances (..))
|
import Plutarch.DataRepr (DerivePConstantViaData (..), PDataFields, PIsDataReprInstances (..))
|
||||||
import Plutarch.Lift (
|
import Plutarch.Lift (
|
||||||
DerivePConstantViaNewtype (..),
|
DerivePConstantViaNewtype (..),
|
||||||
|
|
@ -415,17 +414,16 @@ proposalDatumValid proposal =
|
||||||
plam $ \datum' -> P.do
|
plam $ \datum' -> P.do
|
||||||
datum <- pletFields @'["effects", "cosigners", "votes"] $ datum'
|
datum <- pletFields @'["effects", "cosigners", "votes"] $ datum'
|
||||||
|
|
||||||
let effects :: Term _ (PBuiltinMap Agora.Proposal.PResultTag (PBuiltinMap Plutarch.Api.V1.PValidatorHash Plutarch.Api.V1.PDatumHash))
|
let atLeastOneNegativeResult =
|
||||||
effects =
|
pany
|
||||||
-- JUSTIFICATION:
|
# phoistAcyclic
|
||||||
-- @datum.effects : PMap PResultTag (PMap PValidatorHash PDatumHash)@
|
( plam $ \m ->
|
||||||
-- @PMap PResultTag (PMap PValidatorHash PDatumHash)@ is equivalent to
|
let l :: Term _ (PBuiltinList _)
|
||||||
-- @PBuiltinMap PResultTag (PBuiltinMap Plutarch.Api.V1.PValidatorHash Plutarch.Api.V1.PDatumHash)@
|
l = pto $ pfromData $ psndBuiltin # m
|
||||||
punsafeCoerce datum.effects
|
in pnull # l
|
||||||
|
)
|
||||||
atLeastOneNegativeResult :: Term _ PBool
|
#$ pto
|
||||||
atLeastOneNegativeResult =
|
$ pfromData datum.effects
|
||||||
pany # plam (\pair -> pnull #$ pfromData $ psndBuiltin # pair) # effects
|
|
||||||
|
|
||||||
foldr1
|
foldr1
|
||||||
(#&&)
|
(#&&)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue