diff --git a/agora/Agora/AuthorityToken.hs b/agora/Agora/AuthorityToken.hs index 241ad13..456f7f2 100644 --- a/agora/Agora/AuthorityToken.hs +++ b/agora/Agora/AuthorityToken.hs @@ -21,12 +21,14 @@ import Plutarch.Api.V1 ( PTxInInfo (PTxInInfo), PTxInfo (..), PTxOut (..), + PMintingPolicy ) import Plutarch.Api.V1.AssocMap (PMap (PMap)) import Plutarch.Api.V1.Value (PValue (PValue)) import Plutarch.Builtin (pforgetData) import Plutarch.Monadic qualified as P import Plutus.V1.Ledger.Value (AssetClass (AssetClass)) +import Plutarch.Api.V1.Extra (passetClass, passetClassValueOf) import Prelude @@ -39,7 +41,6 @@ import Agora.Utils ( psymbolValueOf, ptokenSpent, ) -import Plutarch.Api.V1.Extra (passetClass, passetClassValueOf) -------------------------------------------------------------------------------- @@ -121,9 +122,7 @@ singleAuthorityTokenBurned gatCs txInfo mint = P.do ] -- | Policy given 'AuthorityToken' params. -authorityTokenPolicy :: - AuthorityToken -> - Term s (PData :--> PScriptContext :--> PUnit) +authorityTokenPolicy :: AuthorityToken -> ClosedTerm PMintingPolicy authorityTokenPolicy params = plam $ \_redeemer ctx' -> pmatch ctx' $ \(PScriptContext ctx') -> P.do @@ -149,6 +148,6 @@ authorityTokenPolicy params = authorityTokensValidIn # ownSymbol # txOut - pconstant () + popaque $ pconstant () ) - (pconstant ()) + (popaque $ pconstant ()) diff --git a/agora/Agora/Governor.hs b/agora/Agora/Governor.hs index d05a2b9..c9b626e 100644 --- a/agora/Agora/Governor.hs +++ b/agora/Agora/Governor.hs @@ -149,8 +149,6 @@ PlutusTx.makeIsDataIndexed data Governor = Governor { stORef :: TxOutRef -- ^ An utxo, which will be spent to mint the state token for the governor validator. - , gatSymbol :: CurrencySymbol - -- ^ The symbol of the Governance Authority Token. } governorStateTokenName :: TokenName @@ -353,7 +351,7 @@ governorValidator params = passert "No token should be minted/burnt other than GAT" $ containsSingleCurrencySymbol # mint - popaque $ singleAuthorityTokenBurned gatSym ctx.txInfo mint + popaque $ singleAuthorityTokenBurned (pconstant authorityTokenSymbol) ctx.txInfo mint where stateTokenAssetClass :: AssetClass stateTokenAssetClass = governorStateTokenAssetClass params @@ -389,12 +387,10 @@ governorValidator params = } authorityTokenSymbol :: CurrencySymbol - authorityTokenSymbol = undefined + authorityTokenSymbol = mintingPolicySymbol policy where - policy = authorityTokenPolicy authorityTokenParams - - gatSym :: Term s PCurrencySymbol - gatSym = pconstant params.gatSymbol + policy :: MintingPolicy + policy = mkMintingPolicy $ authorityTokenPolicy authorityTokenParams --------------------------------------------------------------------------------