flesh out Governor datum a bit more

This commit is contained in:
Emily Martins 2022-03-28 12:20:47 +02:00
parent ae5c18aa00
commit 8534405920

View file

@ -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