From 85344059202d3753a92dc55fc16510b04208dbab Mon Sep 17 00:00:00 2001 From: Emily Martins Date: Mon, 28 Mar 2022 12:20:47 +0200 Subject: [PATCH] flesh out Governor datum a bit more --- agora/Agora/Governor.hs | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/agora/Agora/Governor.hs b/agora/Agora/Governor.hs index 5dea361..b4ad0bc 100644 --- a/agora/Agora/Governor.hs +++ b/agora/Agora/Governor.hs @@ -5,4 +5,24 @@ Description: Governor entity scripts acting as authority of entire system. Governor entity scripts acting as authority of entire system. -} -module Agora.Governor () where +module Agora.Governor (GovernorDatum (..)) where + +import Agora.Proposal (ProposalThresholds) + +data GovernorDatum = GovernorDatum + { proposalThresholds :: ProposalThresholds + -- ^ Gets copied over upon creation of a 'Proposal'. + } + +{- | Redeemer for Governor script. + + The governor has two primary responsibilities: + - The gating of Proposal creation + - The gating of minting authority tokens +-} +data GovernorRedeemer + = -- | Checks that a proposal was created lawfully, and allows it. + CreateProposal + | -- | Checks that a SINGLE proposal finished correctly, + -- and allows minting GATs for each effect script. + MintGATs