Fix linker and tests
This commit is contained in:
parent
f0917565a2
commit
293de47f05
2 changed files with 46 additions and 45 deletions
|
|
@ -221,7 +221,7 @@ mkPolicyScript ctx = mustCompile (go # pconstant ctx)
|
||||||
go = loudEval $
|
go = loudEval $
|
||||||
plam $ \sc ->
|
plam $ \sc ->
|
||||||
governorPolicy
|
governorPolicy
|
||||||
# pconstant (view #gstOutRef governor)
|
# pdata (pconstant (view #gstOutRef governor))
|
||||||
# pforgetData (pconstantData ())
|
# pforgetData (pconstantData ())
|
||||||
# sc
|
# sc
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ import Plutarch.Extra.AssetClass (AssetClass (AssetClass))
|
||||||
import Plutarch.Extra.ScriptContext (scriptHashToTokenName)
|
import Plutarch.Extra.ScriptContext (scriptHashToTokenName)
|
||||||
import PlutusLedgerApi.V2 (CurrencySymbol (CurrencySymbol), ScriptHash, TxOutRef, getScriptHash)
|
import PlutusLedgerApi.V2 (CurrencySymbol (CurrencySymbol), ScriptHash, TxOutRef, getScriptHash)
|
||||||
import Ply (
|
import Ply (
|
||||||
|
AsData (AsData),
|
||||||
ScriptRole (MintingPolicyRole, ValidatorRole),
|
ScriptRole (MintingPolicyRole, ValidatorRole),
|
||||||
(#),
|
(#),
|
||||||
)
|
)
|
||||||
|
|
@ -48,122 +49,122 @@ linker = do
|
||||||
govPol <-
|
govPol <-
|
||||||
fetchTS
|
fetchTS
|
||||||
@MintingPolicyRole
|
@MintingPolicyRole
|
||||||
@'[TxOutRef]
|
@'[AsData TxOutRef]
|
||||||
"agora:governorPolicy"
|
"agora:governorPolicy"
|
||||||
govVal <-
|
govVal <-
|
||||||
fetchTS
|
fetchTS
|
||||||
@ValidatorRole
|
@ValidatorRole
|
||||||
@'[ ScriptHash
|
@'[ AsData ScriptHash
|
||||||
, Tagged StakeSTTag AssetClass
|
, AsData (Tagged StakeSTTag AssetClass)
|
||||||
, Tagged GovernorSTTag CurrencySymbol
|
, AsData (Tagged GovernorSTTag CurrencySymbol)
|
||||||
, Tagged ProposalSTTag CurrencySymbol
|
, AsData (Tagged ProposalSTTag CurrencySymbol)
|
||||||
, Tagged AuthorityTokenTag CurrencySymbol
|
, AsData (Tagged AuthorityTokenTag CurrencySymbol)
|
||||||
]
|
]
|
||||||
"agora:governorValidator"
|
"agora:governorValidator"
|
||||||
stkPol <-
|
stkPol <-
|
||||||
fetchTS
|
fetchTS
|
||||||
@MintingPolicyRole
|
@MintingPolicyRole
|
||||||
@'[Tagged GTTag AssetClass]
|
@'[AsData (Tagged GTTag AssetClass)]
|
||||||
"agora:stakePolicy"
|
"agora:stakePolicy"
|
||||||
stkVal <-
|
stkVal <-
|
||||||
fetchTS
|
fetchTS
|
||||||
@ValidatorRole
|
@ValidatorRole
|
||||||
@'[ Tagged StakeSTTag CurrencySymbol
|
@'[ AsData (Tagged StakeSTTag CurrencySymbol)
|
||||||
, Tagged ProposalSTTag AssetClass
|
, AsData (Tagged ProposalSTTag AssetClass)
|
||||||
, Tagged GTTag AssetClass
|
, AsData (Tagged GTTag AssetClass)
|
||||||
]
|
]
|
||||||
"agora:stakeValidator"
|
"agora:stakeValidator"
|
||||||
prpPol <-
|
prpPol <-
|
||||||
fetchTS @MintingPolicyRole
|
fetchTS @MintingPolicyRole
|
||||||
@'[Tagged GovernorSTTag AssetClass]
|
@'[AsData (Tagged GovernorSTTag AssetClass)]
|
||||||
"agora:proposalPolicy"
|
"agora:proposalPolicy"
|
||||||
prpVal <-
|
prpVal <-
|
||||||
fetchTS
|
fetchTS
|
||||||
@ValidatorRole
|
@ValidatorRole
|
||||||
@'[ Tagged StakeSTTag AssetClass
|
@'[ AsData (Tagged StakeSTTag AssetClass)
|
||||||
, Tagged GovernorSTTag CurrencySymbol
|
, AsData (Tagged GovernorSTTag CurrencySymbol)
|
||||||
, Tagged ProposalSTTag CurrencySymbol
|
, AsData (Tagged ProposalSTTag CurrencySymbol)
|
||||||
, Integer
|
, AsData Integer
|
||||||
]
|
]
|
||||||
"agora:proposalValidator"
|
"agora:proposalValidator"
|
||||||
treVal <-
|
treVal <-
|
||||||
fetchTS
|
fetchTS
|
||||||
@ValidatorRole
|
@ValidatorRole
|
||||||
@'[Tagged AuthorityTokenTag CurrencySymbol]
|
@'[AsData (Tagged AuthorityTokenTag CurrencySymbol)]
|
||||||
"agora:treasuryValidator"
|
"agora:treasuryValidator"
|
||||||
atkPol <-
|
atkPol <-
|
||||||
fetchTS
|
fetchTS
|
||||||
@MintingPolicyRole
|
@MintingPolicyRole
|
||||||
@'[Tagged GovernorSTTag AssetClass]
|
@'[AsData (Tagged GovernorSTTag AssetClass)]
|
||||||
"agora:authorityTokenPolicy"
|
"agora:authorityTokenPolicy"
|
||||||
noOpVal <-
|
noOpVal <-
|
||||||
fetchTS
|
fetchTS
|
||||||
@ValidatorRole
|
@ValidatorRole
|
||||||
@'[Tagged AuthorityTokenTag CurrencySymbol]
|
@'[AsData (Tagged AuthorityTokenTag CurrencySymbol)]
|
||||||
"agora:noOpValidator"
|
"agora:noOpValidator"
|
||||||
treaWithdrawalVal <-
|
treaWithdrawalVal <-
|
||||||
fetchTS
|
fetchTS
|
||||||
@ValidatorRole
|
@ValidatorRole
|
||||||
@'[Tagged AuthorityTokenTag CurrencySymbol]
|
@'[AsData (Tagged AuthorityTokenTag CurrencySymbol)]
|
||||||
"agora:treasuryWithdrawalValidator"
|
"agora:treasuryWithdrawalValidator"
|
||||||
mutateGovVal <-
|
mutateGovVal <-
|
||||||
fetchTS
|
fetchTS
|
||||||
@ValidatorRole
|
@ValidatorRole
|
||||||
@'[ ScriptHash
|
@'[ AsData ScriptHash
|
||||||
, Tagged GovernorSTTag CurrencySymbol
|
, AsData (Tagged GovernorSTTag CurrencySymbol)
|
||||||
, Tagged AuthorityTokenTag CurrencySymbol
|
, AsData (Tagged AuthorityTokenTag CurrencySymbol)
|
||||||
]
|
]
|
||||||
"agora:mutateGovernorValidator"
|
"agora:mutateGovernorValidator"
|
||||||
|
|
||||||
governor <- getParam
|
governor <- getParam
|
||||||
|
|
||||||
let govPol' = govPol # governor.gstOutRef
|
let govPol' = govPol # AsData governor.gstOutRef
|
||||||
govVal' =
|
govVal' =
|
||||||
govVal
|
govVal
|
||||||
# propValHash
|
# AsData propValHash
|
||||||
# Tagged sstAssetClass
|
# AsData (Tagged sstAssetClass)
|
||||||
# Tagged gstSymbol
|
# AsData (Tagged gstSymbol)
|
||||||
# Tagged pstSymbol
|
# AsData (Tagged pstSymbol)
|
||||||
# Tagged atSymbol
|
# AsData (Tagged atSymbol)
|
||||||
gstSymbol = CurrencySymbol . getScriptHash . scriptHash $ toScript govPol'
|
gstSymbol = CurrencySymbol . getScriptHash . scriptHash $ toScript govPol'
|
||||||
gstAssetClass =
|
gstAssetClass =
|
||||||
AssetClass gstSymbol ""
|
AssetClass gstSymbol ""
|
||||||
govValHash = scriptHash $ toScript govVal'
|
govValHash = scriptHash $ toScript govVal'
|
||||||
|
|
||||||
atPol' = atkPol # Tagged gstAssetClass
|
atPol' = atkPol # AsData (Tagged gstAssetClass)
|
||||||
atSymbol = CurrencySymbol . getScriptHash . scriptHash $ toScript atPol'
|
atSymbol = CurrencySymbol . getScriptHash . scriptHash $ toScript atPol'
|
||||||
|
|
||||||
propPol' = prpPol # Tagged gstAssetClass
|
propPol' = prpPol # AsData (Tagged gstAssetClass)
|
||||||
propVal' =
|
propVal' =
|
||||||
prpVal
|
prpVal
|
||||||
# Tagged sstAssetClass
|
# AsData (Tagged sstAssetClass)
|
||||||
# Tagged gstSymbol
|
# AsData (Tagged gstSymbol)
|
||||||
# Tagged pstSymbol
|
# AsData (Tagged pstSymbol)
|
||||||
# governor.maximumCosigners
|
# AsData governor.maximumCosigners
|
||||||
propValHash = scriptHash $ toScript propVal'
|
propValHash = scriptHash $ toScript propVal'
|
||||||
pstSymbol = CurrencySymbol . getScriptHash . scriptHash $ toScript propPol'
|
pstSymbol = CurrencySymbol . getScriptHash . scriptHash $ toScript propPol'
|
||||||
pstAssetClass = AssetClass pstSymbol ""
|
pstAssetClass = AssetClass pstSymbol ""
|
||||||
|
|
||||||
stakPol' = stkPol # governor.gtClassRef
|
stakPol' = stkPol # AsData governor.gtClassRef
|
||||||
stakVal' =
|
stakVal' =
|
||||||
stkVal
|
stkVal
|
||||||
# Tagged sstSymbol
|
# AsData (Tagged sstSymbol)
|
||||||
# Tagged pstAssetClass
|
# AsData (Tagged pstAssetClass)
|
||||||
# governor.gtClassRef
|
# AsData governor.gtClassRef
|
||||||
sstSymbol = CurrencySymbol . getScriptHash . scriptHash $ toScript stakPol'
|
sstSymbol = CurrencySymbol . getScriptHash . scriptHash $ toScript stakPol'
|
||||||
stakValTokenName =
|
stakValTokenName =
|
||||||
scriptHashToTokenName $ scriptHash $ toScript stakVal'
|
scriptHashToTokenName $ scriptHash $ toScript stakVal'
|
||||||
sstAssetClass = AssetClass sstSymbol stakValTokenName
|
sstAssetClass = AssetClass sstSymbol stakValTokenName
|
||||||
|
|
||||||
treaVal' = treVal # Tagged atSymbol
|
treaVal' = treVal # AsData (Tagged atSymbol)
|
||||||
|
|
||||||
noOpVal' = noOpVal # Tagged atSymbol
|
noOpVal' = noOpVal # AsData (Tagged atSymbol)
|
||||||
treaWithdrawalVal' = treaWithdrawalVal # Tagged atSymbol
|
treaWithdrawalVal' = treaWithdrawalVal # AsData (Tagged atSymbol)
|
||||||
mutateGovVal' =
|
mutateGovVal' =
|
||||||
mutateGovVal
|
mutateGovVal
|
||||||
# govValHash
|
# AsData govValHash
|
||||||
# Tagged gstSymbol
|
# AsData (Tagged gstSymbol)
|
||||||
# Tagged atSymbol
|
# AsData (Tagged atSymbol)
|
||||||
|
|
||||||
return $
|
return $
|
||||||
ScriptExport
|
ScriptExport
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue