make authorityTokenPolicy a ClosedTerm PMintingPolicy

This commit is contained in:
fanghr 2022-04-20 16:45:25 +08:00
parent ce4922beb3
commit b43171010e

View file

@ -33,7 +33,11 @@ import Generics.SOP (Generic, I (I))
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
import Agora.AuthorityToken (singleAuthorityTokenBurned) import Agora.AuthorityToken (
AuthorityToken (..),
authorityTokenPolicy,
singleAuthorityTokenBurned,
)
import Agora.Proposal ( import Agora.Proposal (
PProposalDatum, PProposalDatum,
PProposalId, PProposalId,
@ -47,6 +51,7 @@ import Agora.Proposal (
proposalValidator, proposalValidator,
) )
import Agora.Utils ( import Agora.Utils (
containsSingleCurrencySymbol,
findOutputsToAddress, findOutputsToAddress,
hasOnlyOneTokenOfCurrencySymbol, hasOnlyOneTokenOfCurrencySymbol,
mustFindDatum', mustFindDatum',
@ -58,7 +63,6 @@ import Agora.Utils (
pisUxtoSpent, pisUxtoSpent,
pownCurrencySymbol, pownCurrencySymbol,
psymbolValueOf, psymbolValueOf,
containsSingleCurrencySymbol
) )
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
@ -350,7 +354,6 @@ governorValidator params =
containsSingleCurrencySymbol # mint containsSingleCurrencySymbol # mint
popaque $ singleAuthorityTokenBurned gatSym ctx.txInfo mint popaque $ singleAuthorityTokenBurned gatSym ctx.txInfo mint
where where
stateTokenAssetClass :: AssetClass stateTokenAssetClass :: AssetClass
stateTokenAssetClass = governorStateTokenAssetClass params stateTokenAssetClass = governorStateTokenAssetClass params
@ -379,6 +382,17 @@ governorValidator params =
stateTokenValueOf :: Term s (PValue :--> PInteger) stateTokenValueOf :: Term s (PValue :--> PInteger)
stateTokenValueOf = passetClassValueOf' stateTokenAssetClass stateTokenValueOf = passetClassValueOf' stateTokenAssetClass
authorityTokenParams :: AuthorityToken
authorityTokenParams =
AuthorityToken
{ authority = stateTokenAssetClass
}
authorityTokenSymbol :: CurrencySymbol
authorityTokenSymbol = undefined
where
policy = authorityTokenPolicy authorityTokenParams
gatSym :: Term s PCurrencySymbol gatSym :: Term s PCurrencySymbol
gatSym = pconstant params.gatSymbol gatSym = pconstant params.gatSymbol