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