77 lines
2.1 KiB
Text
77 lines
2.1 KiB
Text
-- File auto generated by purescript-bridge! --
|
|
module Agora.Governor where
|
|
|
|
import Prelude
|
|
|
|
import Agora.Proposal (ProposalId, ProposalThresholds)
|
|
import Data.Bounded.Generic (genericBottom, genericTop)
|
|
import Data.Enum (class Enum)
|
|
import Data.Enum.Generic (genericPred, genericSucc)
|
|
import Data.Generic.Rep (class Generic)
|
|
import Data.Lens (Iso', Lens', Prism', iso, prism')
|
|
import Data.Lens.Iso.Newtype (_Newtype)
|
|
import Data.Lens.Record (prop)
|
|
import Data.Maybe (Maybe(..))
|
|
import Data.Newtype (class Newtype)
|
|
import Type.Proxy (Proxy(Proxy))
|
|
|
|
newtype GovernorDatum = GovernorDatum
|
|
{ proposalThresholds :: ProposalThresholds
|
|
, nextProposalId :: ProposalId
|
|
}
|
|
|
|
derive instance Generic GovernorDatum _
|
|
|
|
derive instance Newtype GovernorDatum _
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
_GovernorDatum :: Iso' GovernorDatum {proposalThresholds :: ProposalThresholds, nextProposalId :: ProposalId}
|
|
_GovernorDatum = _Newtype
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
data GovernorRedeemer
|
|
= CreateProposal
|
|
| MintGATs
|
|
|
|
derive instance Generic GovernorRedeemer _
|
|
|
|
instance Enum GovernorRedeemer where
|
|
succ = genericSucc
|
|
pred = genericPred
|
|
|
|
instance Bounded GovernorRedeemer where
|
|
bottom = genericBottom
|
|
top = genericTop
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
_CreateProposal :: Prism' GovernorRedeemer Unit
|
|
_CreateProposal = prism' (const CreateProposal) case _ of
|
|
CreateProposal -> Just unit
|
|
_ -> Nothing
|
|
|
|
_MintGATs :: Prism' GovernorRedeemer Unit
|
|
_MintGATs = prism' (const MintGATs) case _ of
|
|
MintGATs -> Just unit
|
|
_ -> Nothing
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
data Governor = Governor
|
|
|
|
derive instance Generic Governor _
|
|
|
|
instance Enum Governor where
|
|
succ = genericSucc
|
|
pred = genericPred
|
|
|
|
instance Bounded Governor where
|
|
bottom = genericBottom
|
|
top = genericTop
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
_Governor :: Iso' Governor Unit
|
|
_Governor = iso (const unit) (const Governor)
|