calculate GAT's symbol based on gov parameters
This commit is contained in:
parent
b43171010e
commit
b67361e7b4
2 changed files with 9 additions and 14 deletions
|
|
@ -21,12 +21,14 @@ import Plutarch.Api.V1 (
|
||||||
PTxInInfo (PTxInInfo),
|
PTxInInfo (PTxInInfo),
|
||||||
PTxInfo (..),
|
PTxInfo (..),
|
||||||
PTxOut (..),
|
PTxOut (..),
|
||||||
|
PMintingPolicy
|
||||||
)
|
)
|
||||||
import Plutarch.Api.V1.AssocMap (PMap (PMap))
|
import Plutarch.Api.V1.AssocMap (PMap (PMap))
|
||||||
import Plutarch.Api.V1.Value (PValue (PValue))
|
import Plutarch.Api.V1.Value (PValue (PValue))
|
||||||
import Plutarch.Builtin (pforgetData)
|
import Plutarch.Builtin (pforgetData)
|
||||||
import Plutarch.Monadic qualified as P
|
import Plutarch.Monadic qualified as P
|
||||||
import Plutus.V1.Ledger.Value (AssetClass (AssetClass))
|
import Plutus.V1.Ledger.Value (AssetClass (AssetClass))
|
||||||
|
import Plutarch.Api.V1.Extra (passetClass, passetClassValueOf)
|
||||||
|
|
||||||
import Prelude
|
import Prelude
|
||||||
|
|
||||||
|
|
@ -39,7 +41,6 @@ import Agora.Utils (
|
||||||
psymbolValueOf,
|
psymbolValueOf,
|
||||||
ptokenSpent,
|
ptokenSpent,
|
||||||
)
|
)
|
||||||
import Plutarch.Api.V1.Extra (passetClass, passetClassValueOf)
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
@ -121,9 +122,7 @@ singleAuthorityTokenBurned gatCs txInfo mint = P.do
|
||||||
]
|
]
|
||||||
|
|
||||||
-- | Policy given 'AuthorityToken' params.
|
-- | Policy given 'AuthorityToken' params.
|
||||||
authorityTokenPolicy ::
|
authorityTokenPolicy :: AuthorityToken -> ClosedTerm PMintingPolicy
|
||||||
AuthorityToken ->
|
|
||||||
Term s (PData :--> PScriptContext :--> PUnit)
|
|
||||||
authorityTokenPolicy params =
|
authorityTokenPolicy params =
|
||||||
plam $ \_redeemer ctx' ->
|
plam $ \_redeemer ctx' ->
|
||||||
pmatch ctx' $ \(PScriptContext ctx') -> P.do
|
pmatch ctx' $ \(PScriptContext ctx') -> P.do
|
||||||
|
|
@ -149,6 +148,6 @@ authorityTokenPolicy params =
|
||||||
authorityTokensValidIn
|
authorityTokensValidIn
|
||||||
# ownSymbol
|
# ownSymbol
|
||||||
# txOut
|
# txOut
|
||||||
pconstant ()
|
popaque $ pconstant ()
|
||||||
)
|
)
|
||||||
(pconstant ())
|
(popaque $ pconstant ())
|
||||||
|
|
|
||||||
|
|
@ -149,8 +149,6 @@ PlutusTx.makeIsDataIndexed
|
||||||
data Governor = Governor
|
data Governor = Governor
|
||||||
{ stORef :: TxOutRef
|
{ stORef :: TxOutRef
|
||||||
-- ^ An utxo, which will be spent to mint the state token for the governor validator.
|
-- ^ 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
|
governorStateTokenName :: TokenName
|
||||||
|
|
@ -353,7 +351,7 @@ governorValidator params =
|
||||||
passert "No token should be minted/burnt other than GAT" $
|
passert "No token should be minted/burnt other than GAT" $
|
||||||
containsSingleCurrencySymbol # mint
|
containsSingleCurrencySymbol # mint
|
||||||
|
|
||||||
popaque $ singleAuthorityTokenBurned gatSym ctx.txInfo mint
|
popaque $ singleAuthorityTokenBurned (pconstant authorityTokenSymbol) ctx.txInfo mint
|
||||||
where
|
where
|
||||||
stateTokenAssetClass :: AssetClass
|
stateTokenAssetClass :: AssetClass
|
||||||
stateTokenAssetClass = governorStateTokenAssetClass params
|
stateTokenAssetClass = governorStateTokenAssetClass params
|
||||||
|
|
@ -389,12 +387,10 @@ governorValidator params =
|
||||||
}
|
}
|
||||||
|
|
||||||
authorityTokenSymbol :: CurrencySymbol
|
authorityTokenSymbol :: CurrencySymbol
|
||||||
authorityTokenSymbol = undefined
|
authorityTokenSymbol = mintingPolicySymbol policy
|
||||||
where
|
where
|
||||||
policy = authorityTokenPolicy authorityTokenParams
|
policy :: MintingPolicy
|
||||||
|
policy = mkMintingPolicy $ authorityTokenPolicy authorityTokenParams
|
||||||
gatSym :: Term s PCurrencySymbol
|
|
||||||
gatSym = pconstant params.gatSymbol
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue