1+ {-# LANGUAGE AllowAmbiguousTypes #-}
12{-# LANGUAGE ImportQualifiedPost #-}
23{-# LANGUAGE OverloadedLists #-}
34{-# LANGUAGE OverloadedStrings #-}
45{-# LANGUAGE QuasiQuotes #-}
6+ {-# LANGUAGE RankNTypes #-}
7+ {-# LANGUAGE ScopedTypeVariables #-}
58{-# LANGUAGE TypeApplications #-}
69{-# LANGUAGE NoImplicitPrelude #-}
710
@@ -14,13 +17,16 @@ module Test.Cardano.Ledger.Babbage.CDDL (
1417 operational_cert ,
1518 babbage_transaction_output ,
1619 plutus_data ,
20+ protocol_version ,
1721) where
1822
1923import Cardano.Ledger.Babbage (BabbageEra )
24+ import Cardano.Ledger.Core (Era )
2025import Codec.CBOR.Cuddle.Huddle
2126import Data.Word (Word64 )
2227import Test.Cardano.Ledger.Alonzo.CDDL hiding (
2328 operational_cert ,
29+ protocol_version ,
2430 )
2531import Text.Heredoc
2632import Prelude hiding ((/) )
@@ -83,7 +89,7 @@ header_body =
8389 , " block_body_size" ==> VUInt
8490 , " block_body_hash" ==> hash32
8591 , a operational_cert
86- , a protocol_version
92+ , a ( protocol_version @ BabbageEra )
8793 ]
8894
8995operational_cert :: Rule
@@ -96,8 +102,8 @@ operational_cert =
96102 , " sigma" ==> signature
97103 ]
98104
99- protocol_version :: Rule
100- protocol_version = " protocol_version" =:= arr [a $ major_protocol_version @ BabbageEra , a VUInt ]
105+ protocol_version :: forall era . Era era => Rule
106+ protocol_version = " protocol_version" =:= arr [a $ major_protocol_version @ era , a VUInt ]
101107
102108transaction_body :: Rule
103109transaction_body =
@@ -367,7 +373,7 @@ protocol_param_update =
367373 , opt (idx 9 ==> nonnegative_interval)
368374 , opt (idx 10 ==> unit_interval)
369375 , opt (idx 11 ==> unit_interval)
370- , opt (idx 14 ==> protocol_version)
376+ , opt (idx 14 ==> protocol_version @ BabbageEra )
371377 , opt (idx 16 ==> coin)
372378 , opt (idx 17 ==> coin)
373379 , opt (idx 18 ==> cost_models)
0 commit comments