Add the effect validator to the API
This commit is contained in:
parent
95c376d4bc
commit
ba6d8ad229
3 changed files with 10 additions and 0 deletions
|
|
@ -71,6 +71,8 @@ builders =
|
|||
& insertBuilder
|
||||
"neverSucceedsValidator"
|
||||
(\() -> mkValidatorInfo $ plam $ \_ _ _ -> perror)
|
||||
-- Provided Effect scripts
|
||||
& insertBuilder "treasuryWithdrawalEffect" ((.treasuryWithdrawalEffectInfo) . agoraScripts)
|
||||
|
||||
{- | Create scripts from params.
|
||||
|
||||
|
|
@ -87,6 +89,7 @@ agoraScripts params =
|
|||
, proposalValidatorInfo = mkValidatorInfo' scripts.compiledProposalValidator
|
||||
, treasuryValidatorInfo = mkValidatorInfo' scripts.compiledTreasuryValidator
|
||||
, authorityTokenPolicyInfo = mkPolicyInfo' scripts.compiledAuthorityTokenPolicy
|
||||
, treasuryWithdrawalEffectInfo = mkValidatorInfo' scripts.compiledTreasuryWithdrawalEffect
|
||||
}
|
||||
where
|
||||
governor =
|
||||
|
|
@ -126,6 +129,7 @@ data AgoraScripts = AgoraScripts
|
|||
, proposalValidatorInfo :: ScriptInfo
|
||||
, treasuryValidatorInfo :: ScriptInfo
|
||||
, authorityTokenPolicyInfo :: ScriptInfo
|
||||
, treasuryWithdrawalEffectInfo :: ScriptInfo
|
||||
}
|
||||
deriving anyclass
|
||||
( -- | @since 0.2.0
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import Agora.AuthorityToken (AuthorityToken (AuthorityToken), authorityTokenPoli
|
|||
import Agora.Governor (Governor, gstOutRef, gtClassRef, maximumCosigners)
|
||||
import Agora.Governor.Scripts (governorPolicy, governorValidator)
|
||||
import Agora.Proposal.Scripts (proposalPolicy, proposalValidator)
|
||||
import Agora.Effect.TreasuryWithdrawal (treasuryWithdrawalValidator)
|
||||
import Agora.Scripts (AgoraScripts (AgoraScripts))
|
||||
import Agora.Scripts qualified as Scripts
|
||||
import Agora.Stake.Scripts (stakePolicy, stakeValidator)
|
||||
|
|
@ -54,6 +55,8 @@ agoraScripts conf gov = scripts
|
|||
|
||||
compiledTreasuryValidator = mkValidator' $ treasuryValidator authorityTokenSymbol
|
||||
|
||||
compiledTreasuryWithdrawalEffect = mkValidator' $ treasuryWithdrawalValidator authorityTokenSymbol
|
||||
|
||||
scripts =
|
||||
AgoraScripts
|
||||
{ Scripts.compiledGovernorPolicy = CompiledMintingPolicy compiledGovernorPolicy
|
||||
|
|
@ -64,4 +67,5 @@ agoraScripts conf gov = scripts
|
|||
, Scripts.compiledProposalValidator = CompiledValidator compiledProposalValidator
|
||||
, Scripts.compiledTreasuryValidator = CompiledValidator compiledTreasuryValidator
|
||||
, Scripts.compiledAuthorityTokenPolicy = CompiledMintingPolicy compiledAuthorityPolicy
|
||||
, Scripts.compiledTreasuryWithdrawalEffect = CompiledValidator compiledTreasuryWithdrawalEffect
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ module Agora.Scripts (
|
|||
treasuryValidatorHash,
|
||||
) where
|
||||
|
||||
import Agora.Effect.TreasuryWithdrawal (TreasuryWithdrawalDatum)
|
||||
import Agora.Governor (GovernorDatum, GovernorRedeemer)
|
||||
import Agora.Proposal (ProposalDatum, ProposalRedeemer)
|
||||
import Agora.Stake (StakeDatum, StakeRedeemer)
|
||||
|
|
@ -55,6 +56,7 @@ data AgoraScripts = AgoraScripts
|
|||
, compiledProposalValidator :: CompiledValidator ProposalDatum ProposalRedeemer
|
||||
, compiledTreasuryValidator :: CompiledValidator () ()
|
||||
, compiledAuthorityTokenPolicy :: CompiledMintingPolicy ()
|
||||
, compiledTreasuryWithdrawalEffect :: CompiledValidator () TreasuryWithdrawalDatum
|
||||
}
|
||||
|
||||
{- | Get the currency symbol of the governor state token.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue