From 94d6d465af5893b17ea10ce3c8a3b18c298de81d Mon Sep 17 00:00:00 2001 From: fanghr Date: Fri, 22 Apr 2022 18:19:01 +0800 Subject: [PATCH] fix compilation errors --- agora/Agora/Effects/GovernorMutation.hs | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/agora/Agora/Effects/GovernorMutation.hs b/agora/Agora/Effects/GovernorMutation.hs index 5cc03d1..c6c5f87 100644 --- a/agora/Agora/Effects/GovernorMutation.hs +++ b/agora/Agora/Effects/GovernorMutation.hs @@ -23,6 +23,8 @@ import Plutarch.Api.V1 ( PTxOutRef, PValidator, PValue, + mintingPolicySymbol, + mkMintingPolicy, ) import Plutarch.Builtin (pforgetData) import Plutarch.DataRepr ( @@ -40,16 +42,15 @@ import PlutusTx qualified -------------------------------------------------------------------------------- +import Agora.AuthorityToken import Agora.Effect (makeEffect) import Agora.Governor ( Governor, GovernorDatum, PGovernorDatum, - authorityTokenSymbolFromGovernor, - governorStateTokenAssetClass, + gstAssetClass, ) import Agora.Utils ( - containsSingleCurrencySymbol, findOutputsToAddress, passert, passetClassValueOf', @@ -99,8 +100,11 @@ mutateGovernorValidator gov = makeEffect gatSymbol $ txInfo <- pletFields @'["mint", "inputs", "outputs"] txInfo' + let mint :: Term _ (PBuiltinList _) + mint = pto $ pto $ pto $ pfromData txInfo.mint + passert "Nothing should be minted/burnt other than GAT" $ - containsSingleCurrencySymbol # txInfo.mint + plength # mint #== 1 filteredInputs <- plet $ @@ -148,8 +152,12 @@ mutateGovernorValidator gov = makeEffect gatSymbol $ _ -> ptraceError "Output datum not found" _ -> ptraceError "Ouput to governor should have datum" where - gatSymbol = authorityTokenSymbolFromGovernor gov - gstAssetClass = governorStateTokenAssetClass gov + -- Copy-Paste from governor + -- TODO: export as a util function from governor + gatSymbol = mintingPolicySymbol policy + where + at = AuthorityToken $ gstAssetClass gov + policy = mkMintingPolicy $ authorityTokenPolicy at gstValueOf :: Term s (PValue :--> PInteger) - gstValueOf = passetClassValueOf' gstAssetClass + gstValueOf = passetClassValueOf' $ gstAssetClass gov