agora-0.1.0
Maintainerconnor@mlabs.city
Safe HaskellSafe-Inferred
LanguageHaskell2010

Agora.Governor

Description

Governor entity scripts acting as authority of entire system.

Synopsis

Haskell-land

data GovernorDatum Source #

Datum for the Governor script.

Since: 0.1.0

Constructors

GovernorDatum 

Fields

Instances

Instances details
Generic GovernorDatum Source # 
Instance details

Defined in Agora.Governor

Associated Types

type Rep GovernorDatum :: Type -> Type Source #

Show GovernorDatum Source # 
Instance details

Defined in Agora.Governor

PConstantDecl GovernorDatum Source # 
Instance details

Defined in Agora.Governor

FromData GovernorDatum Source # 
Instance details

Defined in Agora.Governor

ToData GovernorDatum Source # 
Instance details

Defined in Agora.Governor

UnsafeFromData GovernorDatum Source #

Since: 0.1.0

Instance details

Defined in Agora.Governor

type Rep GovernorDatum Source # 
Instance details

Defined in Agora.Governor

type Rep GovernorDatum = D1 ('MetaData "GovernorDatum" "Agora.Governor" "agora-0.1.0-C1o5klqsCO77ggIWQdJiNp" 'False) (C1 ('MetaCons "GovernorDatum" 'PrefixI 'True) ((S1 ('MetaSel ('Just "proposalThresholds") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProposalThresholds) :*: S1 ('MetaSel ('Just "nextProposalId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProposalId)) :*: (S1 ('MetaSel ('Just "proposalTimings") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProposalTimingConfig) :*: S1 ('MetaSel ('Just "createProposalTimeRangeMaxWidth") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MaxTimeRangeWidth))))
type PConstantRepr GovernorDatum Source #

Since: 0.1.0

Instance details

Defined in Agora.Governor

type PConstanted GovernorDatum Source # 
Instance details

Defined in Agora.Governor

data GovernorRedeemer Source #

Redeemer for Governor script. The governor has two primary responsibilities:

  1. The gating of Proposal creation.
  2. The gating of minting authority tokens.

Parameters of the governor can also be mutated by an effect.

Since: 0.1.0

Constructors

CreateProposal

Checks that a proposal was created lawfully, and allows it.

MintGATs

Checks that a SINGLE proposal finished correctly, and allows minting GATs for each effect script.

MutateGovernor

Allows effects to mutate the parameters.

Instances

Instances details
Generic GovernorRedeemer Source # 
Instance details

Defined in Agora.Governor

Associated Types

type Rep GovernorRedeemer :: Type -> Type Source #

Show GovernorRedeemer Source # 
Instance details

Defined in Agora.Governor

PConstantDecl GovernorRedeemer Source # 
Instance details

Defined in Agora.Governor

FromData GovernorRedeemer Source # 
Instance details

Defined in Agora.Governor

ToData GovernorRedeemer Source # 
Instance details

Defined in Agora.Governor

UnsafeFromData GovernorRedeemer Source #

Since: 0.1.0

Instance details

Defined in Agora.Governor

type Rep GovernorRedeemer Source # 
Instance details

Defined in Agora.Governor

type Rep GovernorRedeemer = D1 ('MetaData "GovernorRedeemer" "Agora.Governor" "agora-0.1.0-C1o5klqsCO77ggIWQdJiNp" 'False) (C1 ('MetaCons "CreateProposal" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MintGATs" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MutateGovernor" 'PrefixI 'False) (U1 :: Type -> Type)))
type PConstantRepr GovernorRedeemer Source #

Since: 0.1.0

Instance details

Defined in Agora.Governor

type PConstanted GovernorRedeemer Source # 
Instance details

Defined in Agora.Governor

data Governor Source #

Parameters for creating Governor scripts.

Since: 0.1.0

Constructors

Governor 

Fields

Instances

Instances details
Generic Governor Source # 
Instance details

Defined in Agora.Governor

Associated Types

type Rep Governor :: Type -> Type Source #

type Rep Governor Source # 
Instance details

Defined in Agora.Governor

type Rep Governor = D1 ('MetaData "Governor" "Agora.Governor" "agora-0.1.0-C1o5klqsCO77ggIWQdJiNp" 'False) (C1 ('MetaCons "Governor" 'PrefixI 'True) (S1 ('MetaSel ('Just "gstOutRef") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TxOutRef) :*: (S1 ('MetaSel ('Just "gtClassRef") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Tagged GTTag AssetClass)) :*: S1 ('MetaSel ('Just "maximumCosigners") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer))))

Plutarch-land

newtype PGovernorDatum (s :: S) Source #

Plutarch-level datum for the Governor script.

Since: 0.1.0

Constructors

PGovernorDatum 

Fields

Instances

Instances details
PEq PGovernorDatum Source #

Since: 0.1.0

Instance details

Defined in Agora.Governor

Methods

(#==) :: forall (s :: S). Term s PGovernorDatum -> Term s PGovernorDatum -> Term s PBool Source #

PIsData PGovernorDatum Source #

Since: 0.1.0

Instance details

Defined in Agora.Governor

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData PGovernorDatum) -> Term s PGovernorDatum Source #

pdataImpl :: forall (s :: S). Term s PGovernorDatum -> Term s PData Source #

PIsDataRepr PGovernorDatum Source # 
Instance details

Defined in Agora.Governor

Associated Types

type PIsDataReprRepr PGovernorDatum :: [[PLabeledType]] Source #

Methods

pconRepr :: forall (s :: S). PGovernorDatum s -> Term s (PDataSum (PIsDataReprRepr PGovernorDatum)) Source #

pmatchRepr :: forall (s :: S) (b :: PType). Term s (PDataSum (PIsDataReprRepr PGovernorDatum)) -> (PGovernorDatum s -> Term s b) -> Term s b Source #

PDataFields PGovernorDatum Source # 
Instance details

Defined in Agora.Governor

Associated Types

type PFields PGovernorDatum :: [PLabeledType] Source #

PlutusType PGovernorDatum Source # 
Instance details

Defined in Agora.Governor

Associated Types

type PInner PGovernorDatum b' :: PType Source #

Methods

pcon' :: forall (s :: S) (b :: PType). PGovernorDatum s -> Term s (PInner PGovernorDatum b) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner PGovernorDatum b) -> (PGovernorDatum s -> Term s b) -> Term s b Source #

PUnsafeLiftDecl PGovernorDatum Source #

Since: 0.1.0

Instance details

Defined in Agora.Governor

Associated Types

type PLifted PGovernorDatum = (r :: Type) Source #

PTryFrom PData (PAsData PGovernorDatum) Source # 
Instance details

Defined in Agora.Governor

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PGovernorDatum), Reduce (PTryFromExcess PData (PAsData PGovernorDatum) s)) -> Term s r) -> Term s r Source #

Generic (PGovernorDatum s) Source # 
Instance details

Defined in Agora.Governor

Associated Types

type Rep (PGovernorDatum s) :: Type -> Type Source #

Generic (PGovernorDatum s) Source # 
Instance details

Defined in Agora.Governor

Associated Types

type Code (PGovernorDatum s) :: [[Type]] Source #

type PIsDataReprRepr PGovernorDatum Source #

Since: 0.1.0

Instance details

Defined in Agora.Governor

type PFields PGovernorDatum Source #

Since: 0.1.0

Instance details

Defined in Agora.Governor

type PLifted PGovernorDatum Source # 
Instance details

Defined in Agora.Governor

type PInner PGovernorDatum b' Source #

Since: 0.1.0

Instance details

Defined in Agora.Governor

type PTryFromExcess PData (PAsData PGovernorDatum) Source #

Since: 0.1.0

Instance details

Defined in Agora.Governor

type Rep (PGovernorDatum s) Source #

Since: 0.1.0

Instance details

Defined in Agora.Governor

type Rep (PGovernorDatum s) = D1 ('MetaData "PGovernorDatum" "Agora.Governor" "agora-0.1.0-C1o5klqsCO77ggIWQdJiNp" 'True) (C1 ('MetaCons "PGovernorDatum" 'PrefixI 'True) (S1 ('MetaSel ('Just "getGovernorDatum") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s (PDataRecord '["proposalThresholds" := PProposalThresholds, "nextProposalId" := PProposalId, "proposalTimings" := PProposalTimingConfig, "createProposalTimeRangeMaxWidth" := PMaxTimeRangeWidth])))))
type Code (PGovernorDatum s) Source #

Since: 0.1.0

Instance details

Defined in Agora.Governor

data PGovernorRedeemer (s :: S) Source #

Plutarch-level version of GovernorRedeemer.

Since: 0.1.0

Instances

Instances details
PIsData PGovernorRedeemer Source #

Since: 0.1.0

Instance details

Defined in Agora.Governor

PIsDataRepr PGovernorRedeemer Source # 
Instance details

Defined in Agora.Governor

PlutusType PGovernorRedeemer Source # 
Instance details

Defined in Agora.Governor

Associated Types

type PInner PGovernorRedeemer b' :: PType Source #

Methods

pcon' :: forall (s :: S) (b :: PType). PGovernorRedeemer s -> Term s (PInner PGovernorRedeemer b) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner PGovernorRedeemer b) -> (PGovernorRedeemer s -> Term s b) -> Term s b Source #

PUnsafeLiftDecl PGovernorRedeemer Source #

Since: 0.1.0

Instance details

Defined in Agora.Governor

Associated Types

type PLifted PGovernorRedeemer = (r :: Type) Source #

PTryFrom PData (PAsData PGovernorRedeemer) Source # 
Instance details

Defined in Agora.Governor

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData PGovernorRedeemer), Reduce (PTryFromExcess PData (PAsData PGovernorRedeemer) s)) -> Term s r) -> Term s r Source #

Generic (PGovernorRedeemer s) Source # 
Instance details

Defined in Agora.Governor

Associated Types

type Rep (PGovernorRedeemer s) :: Type -> Type Source #

Generic (PGovernorRedeemer s) Source # 
Instance details

Defined in Agora.Governor

Associated Types

type Code (PGovernorRedeemer s) :: [[Type]] Source #

type PIsDataReprRepr PGovernorRedeemer Source #

Since: 0.1.0

Instance details

Defined in Agora.Governor

type PLifted PGovernorRedeemer Source # 
Instance details

Defined in Agora.Governor

type PInner PGovernorRedeemer b' Source #

Since: 0.1.0

Instance details

Defined in Agora.Governor

type PTryFromExcess PData (PAsData PGovernorRedeemer) Source #

Since: 0.1.0

Instance details

Defined in Agora.Governor

type Rep (PGovernorRedeemer s) Source #

Since: 0.1.0

Instance details

Defined in Agora.Governor

type Rep (PGovernorRedeemer s) = D1 ('MetaData "PGovernorRedeemer" "Agora.Governor" "agora-0.1.0-C1o5klqsCO77ggIWQdJiNp" 'False) (C1 ('MetaCons "PCreateProposal" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s (PDataRecord ('[] :: [PLabeledType]))))) :+: (C1 ('MetaCons "PMintGATs" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s (PDataRecord ('[] :: [PLabeledType]))))) :+: C1 ('MetaCons "PMutateGovernor" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s (PDataRecord ('[] :: [PLabeledType])))))))
type Code (PGovernorRedeemer s) Source #

Since: 0.1.0

Instance details

Defined in Agora.Governor

Utilities

getNextProposalId :: ProposalId -> ProposalId Source #

Get next proposal id.

Since: 0.1.0

governorDatumValid :: Term s (PGovernorDatum :--> PBool) Source #

Check whether a particular PGovernorDatum is well-formed.

Since: 0.1.0