Formal Ledger Specification
Enact
Initializing search
    GitHub
    • Navigation
    GitHub
      • Home
      • Guide for Contributors
        • Notation
      • Ledger
        • Introduction
        • Prelude
          • Base
          • Instances
        • Conway
          • Abstract
          • Address
          • BaseTypes
          • Certs
            • Properties
              • PoV
              • PoVLemmas
              • VoteDelegsVDeleg
          • Chain
            • Properties
              • CredDepsEqualDomRwds
              • EpochStep
              • GovDepsMatch
              • PParamsWellFormed
          • Crypto
          • Enact
            • Properties
          • Epoch
            • Properties
              • ConstRwds
              • GovDepsMatch
              • NoPropSameDReps
          • Fees
          • Gov
            • Base
            • Actions
            • Properties
              • ChangePPGroup
          • Ledger.Ledger
            • Properties
              • GovDepsMatch
              • PoV
          • PParams
          • Properties
          • Ratify
            • Properties
          • Rewards
          • Script
            • Base
            • Timelock
            • Validation
            • Base
            • Coin
            • ValueSet
            • ValueVector
          • Transaction
            • Epoch
            • Numeric
              • UnitInterval
              • PositiveNat
          • Utxo
            • Properties
              • MinSpend
              • PoV
          • Utxow
            • Properties
            • ExternalFunctions
            • HSLedger
              • Address
              • BaseTypes
              • Cert
              • Certs
              • Chain
              • Core
              • Enact
              • Epoch
              • ExternalStructures
              • Gov
                • Core
                • Actions
              • Ledger
              • NewEpoch
              • PParams
              • Ratify
              • Transaction
              • Utxo
            • HSTypes
            • Util
            • Certs
              • Properties
            • Chain
              • Properties
            • Epoch
              • Properties
            • Equivalence
              • Bisimilarity
              • Certs
              • Convert
              • Deposits
              • Map
              • Utxo
            • Gov
            • Ledger
              • Properties
            • Properties
            • Script
            • Utxo
              • Properties
            • Utxow
              • Properties
            • Examples
              • HelloWorld
              • SucceedIfNumber
            • LedgerImplementation
            • Lib
            • Prelude
            • StructuredContracts
        • ConwaySafe
          • HasCoin
        • PreConway
            • NewPP
              • Properties
            • PPUp
              • Properties
          • NewPP
            • Properties
          • PPUp
            • Properties
        • Convertible
          • Deriving
          • DerivingTest
        • HaskellTypes
          • Deriving
        • EssentialAgda
        • Agda Prelude
            • ComputationalRelation
            • HasSubset
            • HasSubtract
              • Instance
            • Hashable
            • STS
          • MyDebugOptions

    Enact

    open import Data.Rational using (ℚ)
    module Ledger.Conway.Foreign.HSLedger.Enact where
    
    open import Ledger.Conway.Foreign.HSLedger.Address
    open import Ledger.Conway.Foreign.HSLedger.BaseTypes
    open import Ledger.Conway.Foreign.HSLedger.PParams
    open import Ledger.Conway.Foreign.HSLedger.Gov.Actions
    
    open import Ledger.Conway.Enact govStructure
    open import Ledger.Conway.Enact.Properties govStructure
    
    instance
      HsTy-EnactState = autoHsType EnactState ⊣ withConstructor "MkEnactState"
                                              • fieldPrefix "es"
      Conv-EnactState = autoConvert EnactState
    
      HsTy-EnactEnv = autoHsType EnactEnv ⊣ withConstructor "MkEnactEnv"
                                          • fieldPrefix "ee"
      Conv-EnactEnv = autoConvert EnactEnv
    
    enact-step : HsType (EnactEnv → EnactState → GovAction → ComputationResult String EnactState)
    enact-step = to (compute Computational-ENACT)
    
    {-# COMPILE GHC enact-step as enactStep #-}
    
    Previous
    Core
    Next
    Epoch
    Made with Material for MkDocs