diff --git a/agora/Agora/Treasury.hs b/agora/Agora/Treasury.hs index dd24c8d..16d5a51 100644 --- a/agora/Agora/Treasury.hs +++ b/agora/Agora/Treasury.hs @@ -16,7 +16,8 @@ import Generics.SOP (Generic) import Plutarch.Api.V1 (PValidator) import Plutarch.Api.V1.Contexts (PScriptPurpose (PMinting)) import "plutarch" Plutarch.Api.V1.Value (PValue) -import Plutarch.Extra.IsData (DerivePConstantViaEnum (..), EnumIsData (..), pmatchEnumFromData) +import Plutarch.Builtin (pforgetData) +import Plutarch.Extra.IsData (DerivePConstantViaEnum (..), EnumIsData (..)) import Plutarch.Extra.Other (DerivePNewtype' (..)) import Plutarch.Extra.TermCont (pguardC, pletC, pletFieldsC, pmatchC) import Plutarch.Lift (PConstantDecl (..), PLifted (..), PUnsafeLiftDecl) @@ -109,15 +110,8 @@ treasuryValidator gatCs' = plam $ \_datum redeemer ctx' -> unTermCont $ do PMinting _ <- pmatchC ctx.purpose -- Ensure redeemer type is valid. - let redeemerValid = - pmatchEnumFromData - redeemer - ( \case - Just SpendTreasuryGAT -> pconstant True - _ -> pconstant False - ) - - pguardC "Redeemer should be SpendTreasuryGAT" redeemerValid + pguardC "Redeemer should be SpendTreasuryGAT" $ + redeemer #== pforgetData (pconstantData SpendTreasuryGAT) -- Get the minted value from txInfo. txInfo' <- pletC ctx.txInfo diff --git a/bench.csv b/bench.csv index 7a27393..d41a816 100644 --- a/bench.csv +++ b/bench.csv @@ -28,7 +28,7 @@ Agora/Proposal/validator/advancing/successfully advance to failed state: timeout "Agora/Proposal/validator/unlocking/legal/voter unlocks stake after voting/42 proposals, voter, unlock stake, Locked",2465055872,6938449,30042 Agora/AuthorityToken/singleAuthorityTokenBurned/Correct simple,21017788,55883,806 Agora/AuthorityToken/singleAuthorityTokenBurned/Correct many inputs,33204186,88241,900 -Agora/Treasury/Validator/Positive/Allows for effect changes,30996258,82579,1462 +Agora/Treasury/Validator/Positive/Allows for effect changes,31556709,81546,1452 Agora/AuthorityToken/singleAuthorityTokenBurned/Correct simple,21017788,55883,806 Agora/AuthorityToken/singleAuthorityTokenBurned/Correct many inputs,33204186,88241,900 Agora/Governor/policy/GST minting,51007235,144191,2034