module Ledger.Core.Foreign.Epoch where

open import Ledger.Prelude
open import Ledger.Prelude.Foreign.HSTypes
open import Foreign.HaskellTypes.Deriving

open import Ledger.Core.Specification.Epoch public

open import Data.Integer as 
open import Data.Rational as 

HSGlobalConstants : GlobalConstants
HSGlobalConstants = record {
  Network = 
  ; SlotsPerEpochᶜ = 4320
  ; ActiveSlotCoeff = ℤ.1ℤ ℚ./ 20
  ; RandomnessStabilisationWindowᶜ = 10
  ; StabilityWindowᶜ = 10
  ; MaxLovelaceSupplyᶜ = 1
  ; Quorum = 1
  ; NetworkId = 0
  }

HSEpochStructure : EpochStructure
HSEpochStructure = ℕEpochStructure HSGlobalConstants

open EpochStructure HSEpochStructure

unquoteDecl =
  hsTypeAlias Epoch