diff --git a/scls-cardano/cddl-src/Cardano/SCLS/CDDL.hs b/scls-cardano/cddl-src/Cardano/SCLS/CDDL.hs index 61b12f76..943aaeca 100644 --- a/scls-cardano/cddl-src/Cardano/SCLS/CDDL.hs +++ b/scls-cardano/cddl-src/Cardano/SCLS/CDDL.hs @@ -12,6 +12,7 @@ import Cardano.SCLS.Namespace.Blocks qualified as Blocks import Cardano.SCLS.Namespace.EntitiesCommittee qualified as EntitiesCommittee import Cardano.SCLS.Namespace.EntitiesDReps qualified as EntitiesDReps import Cardano.SCLS.Namespace.EntitiesStakePools qualified as EntitiesStakePools +import Cardano.SCLS.Namespace.EntitiesDormantEpochs qualified as EntitiesDormantEpochs import Cardano.SCLS.Namespace.GovCommittee qualified as GovCommittee import Cardano.SCLS.Namespace.GovConstitution qualified as GovConstitution import Cardano.SCLS.Namespace.GovPParams qualified as GovPParams @@ -64,6 +65,9 @@ instance KnownSpec "entities/dreps/v0" where instance KnownSpec "entities/stake_pools/v0" where namespaceSpec _ = mkDefinition EntitiesStakePools.record_entry +instance KnownSpec "entities/dormant_epochs/v0" where + namespaceSpec _ = mkDefinition EntitiesDormantEpochs.record_entry + instance KnownSpec "gov/committee/v0" where namespaceSpec _ = mkDefinition GovCommittee.record_entry @@ -97,6 +101,7 @@ knownNamespaces = , mkNamespaceSymbol @"entities/committee/v0" , mkNamespaceSymbol @"entities/dreps/v0" , mkNamespaceSymbol @"entities/stake_pools/v0" + , mkNamespaceSymbol @"entities/dormant_epochs/v0" , mkNamespaceSymbol @"gov/committee/v0" , mkNamespaceSymbol @"gov/constitution/v0" , mkNamespaceSymbol @"gov/pparams/v0" @@ -113,6 +118,7 @@ type instance Spec.NamespaceKeySize "snapshots/go/v0" = 31 -- 1 byte for hash ty type instance Spec.NamespaceKeySize "entities/committee/v0" = 8 type instance Spec.NamespaceKeySize "entities/dreps/v0" = 29 -- 1 byte for tag, 28 bytes for hash type instance Spec.NamespaceKeySize "entities/stake_pools/v0" = 28 +type instance Spec.NamespaceKeySize "entities/dormant_epochs/v0" = 1 type instance Spec.NamespaceKeySize "gov/committee/v0" = 8 type instance Spec.NamespaceKeySize "gov/constitution/v0" = 8 type instance Spec.NamespaceKeySize "gov/pparams/v0" = 4 diff --git a/scls-cardano/cddl-src/Cardano/SCLS/Namespace/EntitiesDormantEpochs.hs b/scls-cardano/cddl-src/Cardano/SCLS/Namespace/EntitiesDormantEpochs.hs new file mode 100644 index 00000000..53460491 --- /dev/null +++ b/scls-cardano/cddl-src/Cardano/SCLS/Namespace/EntitiesDormantEpochs.hs @@ -0,0 +1,37 @@ +{-# LANGUAGE ImportQualifiedPost #-} +{-# LANGUAGE OverloadedLists #-} +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE QuasiQuotes #-} +{-# LANGUAGE TypeApplications #-} +{-# LANGUAGE NoImplicitPrelude #-} +{-# OPTIONS_GHC -Wno-unrecognised-pragmas #-} + +{-# HLINT ignore "Use camelCase" #-} +module Cardano.SCLS.Namespace.EntitiesDormantEpochs where + +import Cardano.SCLS.Common +import Codec.CBOR.Cuddle.Huddle +import Data.Function (($)) +import Text.Heredoc (str) + +record_entry :: Rule +record_entry = + comment + [str| The key for the namespace + | + | ``` + | meta: + | endian: be + | + | seq: + | - id: key + | type: singleton + | + | types: + | singleton: + | size: 1 + | type: u1 + | const: 0 + | ``` + |] + $ "record_entry" =:= epoch_no diff --git a/scls-cardano/scls-cardano.cabal b/scls-cardano/scls-cardano.cabal index cb390b3d..33ebd268 100644 --- a/scls-cardano/scls-cardano.cabal +++ b/scls-cardano/scls-cardano.cabal @@ -34,6 +34,7 @@ library Cardano.SCLS.Namespace.EntitiesCommittee Cardano.SCLS.Namespace.EntitiesDReps Cardano.SCLS.Namespace.EntitiesStakePools + Cardano.SCLS.Namespace.EntitiesDormantEpochs Cardano.SCLS.Namespace.GovCommittee Cardano.SCLS.Namespace.GovConstitution Cardano.SCLS.Namespace.GovPParams diff --git a/scls-cardano/test/Reference.hs b/scls-cardano/test/Reference.hs index d9f820f2..c477f42f 100644 --- a/scls-cardano/test/Reference.hs +++ b/scls-cardano/test/Reference.hs @@ -72,6 +72,7 @@ allReferenceCDDLs = , ("entities/committee/v0", "entities_committee_v0.cddl") , ("entities/dreps/v0", "entities_dreps_v0.cddl") , ("entities/stake_pools/v0", "entities_stake_pools_v0.cddl") + , ("entities/dormant_epochs/v0", "entities_dormant_epochs_v0.cddl") , ("gov/committee/v0", "gov_committee_v0.cddl") , ("gov/constitution/v0", "gov_constitution_v0.cddl") , ("gov/pparams/v0", "gov_pparams_v0.cddl") diff --git a/scls-cardano/testlib/Cardano/SCLS/Testlib.hs b/scls-cardano/testlib/Cardano/SCLS/Testlib.hs index 4c17b8ed..075044e8 100644 --- a/scls-cardano/testlib/Cardano/SCLS/Testlib.hs +++ b/scls-cardano/testlib/Cardano/SCLS/Testlib.hs @@ -58,6 +58,7 @@ testAllNS :: , ConstrNS "entities/committee/v0" , ConstrNS "entities/dreps/v0" , ConstrNS "entities/stake_pools/v0" + , ConstrNS "entities/dormant_epochs/v0" , ConstrNS "gov/committee/v0" , ConstrNS "gov/constitution/v0" , ConstrNS "gov/pparams/v0" @@ -74,6 +75,7 @@ testAllNS = describe "scls/conformance" $ do testNS @"entities/committee/v0" testNS @"entities/dreps/v0" testNS @"entities/stake_pools/v0" + testNS @"entities/dormant_epochs/v0" testNS @"gov/committee/v0" testNS @"gov/constitution/v0" testNS @"gov/pparams/v0"