agora/agora-purescript-bridge/src/Agora/Governor.purs
2022-05-13 20:08:48 +08:00

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)