Skip to content

Commit b7fe1c3

Browse files
authored
Merge pull request #4792 from IntersectMBO/aniketd/huddle-conway
Refactor Conway CDDL to reuse Babbage CDDL
2 parents b5571e4 + 803c906 commit b7fe1c3

File tree

9 files changed

+565
-498
lines changed

9 files changed

+565
-498
lines changed

eras/allegra/impl/cddl-files/allegra.cddl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -299,11 +299,11 @@ multi_host_name = (2, dns_name)
299299
;
300300
operational_cert = ($kes_vkey, uint, uint, $signature)
301301

302-
; pool_keyhash: operator
303-
; coin: pledge
304-
; coin: cost
305-
; unit_interval: margin
306-
; set<addr_keyhash>: pool_owners
302+
; pool_keyhash: operator
303+
; coin: pledge
304+
; coin: cost
305+
; unit_interval: margin
306+
; set<addr_keyhash>: pool_owners
307307
;
308308
pool_params = (pool_keyhash
309309
, vrf_keyhash

eras/babbage/impl/testlib/Test/Cardano/Ledger/Babbage/CDDL.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ transaction_body =
144144
]
145145

146146
-- TODO: Allow for adding to the comments of a Rule in order to not have to
147-
-- redifine them in the subsequent eras.
147+
-- redefine them in the subsequent eras.
148148
script_data_hash :: Rule
149149
script_data_hash =
150150
comment

eras/conway/impl/cardano-ledger-conway.cabal

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,12 +168,11 @@ library testlib
168168
cardano-ledger-shelley:{cardano-ledger-shelley, testlib},
169169
cardano-strict-containers,
170170
containers,
171-
cuddle >=0.3.1.0,
172171
cuddle >=0.3.2,
173172
data-default,
174173
deepseq,
175174
generic-random,
176-
here,
175+
heredoc,
177176
microlens,
178177
microlens-mtl,
179178
mtl,

eras/conway/impl/cddl-files/conway.cddl

Lines changed: 182 additions & 118 deletions
Large diffs are not rendered by default.

eras/conway/impl/huddle-cddl/Main.hs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,7 @@ module Main where
22

33
import Paths_cardano_ledger_conway
44
import Test.Cardano.Ledger.Binary.Cuddle (writeSpec)
5-
import qualified Test.Cardano.Ledger.Conway.CDDL as Conway
5+
import Test.Cardano.Ledger.Conway.CDDL (conwayCDDL)
66

7-
-- Generate cddl files for all relevant specifications
87
main :: IO ()
9-
main = do
10-
specFile <- getDataFileName "cddl-files/conway.cddl"
11-
writeSpec Conway.conway specFile
8+
main = writeSpec conwayCDDL =<< getDataFileName "cddl-files/conway.cddl"

eras/conway/impl/test/Test/Cardano/Ledger/Conway/Binary/CddlSpec.hs

Lines changed: 24 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,13 @@ import Test.Cardano.Ledger.Binary.Cuddle (
2222
)
2323
import Test.Cardano.Ledger.Common
2424
import Test.Cardano.Ledger.Conway.Binary.Cddl (readConwayCddlFiles)
25-
import qualified Test.Cardano.Ledger.Conway.CDDL as ConwayCDDL
25+
import Test.Cardano.Ledger.Conway.CDDL (conwayCDDL)
2626

2727
spec :: Spec
2828
spec = do
29-
newSpec
30-
describe "CDDL" $
31-
beforeAllCddlFile 3 readConwayCddlFiles $ do
32-
let v = eraProtVerHigh @Conway
29+
describe "CDDL" $ do
30+
let v = eraProtVerHigh @Conway
31+
describe "Ruby-based" $ beforeAllCddlFile 3 readConwayCddlFiles $ do
3332
cddlRoundTripCborSpec @(Value Conway) v "positive_coin"
3433
cddlRoundTripCborSpec @(Value Conway) v "value"
3534
cddlRoundTripAnnCborSpec @(TxBody Conway) v "transaction_body"
@@ -41,32 +40,29 @@ spec = do
4140
cddlRoundTripCborSpec @(Datum Conway) v "datum_option"
4241
cddlRoundTripAnnCborSpec @(TxWits Conway) v "transaction_witness_set"
4342
cddlRoundTripCborSpec @(PParamsUpdate Conway) v "protocol_param_update"
44-
cddlRoundTripCborSpec @CostModels v "costmdls"
43+
cddlRoundTripCborSpec @CostModels v "cost_models"
4544
cddlRoundTripAnnCborSpec @(Redeemers Conway) v "redeemers"
4645
cddlRoundTripAnnCborSpec @(Tx Conway) v "transaction"
4746
cddlRoundTripCborSpec @(VotingProcedure Conway) v "voting_procedure"
4847
cddlRoundTripCborSpec @(ProposalProcedure Conway) v "proposal_procedure"
4948
cddlRoundTripCborSpec @(GovAction Conway) v "gov_action"
5049
cddlRoundTripCborSpec @(TxCert Conway) v "certificate"
51-
52-
newSpec :: Spec
53-
newSpec = describe "Huddle" $ specWithHuddle ConwayCDDL.conway 100 $ do
54-
let v = eraProtVerHigh @Conway
55-
huddleRoundTripCborSpec @(Value Conway) v "positive_coin"
56-
huddleRoundTripCborSpec @(Value Conway) v "value"
57-
huddleRoundTripCborSpec @(Datum Conway) v "datum_option"
58-
huddleRoundTripCborSpec @CostModels v "costmdls"
59-
huddleRoundTripCborSpec @(VotingProcedure Conway) v "voting_procedure"
60-
huddleRoundTripCborSpec @(PParamsUpdate Conway) v "protocol_param_update"
61-
huddleRoundTripCborSpec @(ProposalProcedure Conway) v "proposal_procedure"
62-
huddleRoundTripCborSpec @(GovAction Conway) v "gov_action"
63-
huddleRoundTripCborSpec @(TxCert Conway) v "certificate"
64-
huddleRoundTripCborSpec @(TxOut Conway) v "transaction_output"
65-
huddleRoundTripAnnCborSpec @(TxBody Conway) v "transaction_body"
66-
huddleRoundTripAnnCborSpec @(TxAuxData Conway) v "auxiliary_data"
67-
huddleRoundTripAnnCborSpec @(Timelock Conway) v "native_script"
68-
huddleRoundTripAnnCborSpec @(Data Conway) v "plutus_data"
69-
huddleRoundTripAnnCborSpec @(Script Conway) v "script"
70-
huddleRoundTripAnnCborSpec @(TxWits Conway) v "transaction_witness_set"
71-
huddleRoundTripAnnCborSpec @(Redeemers Conway) v "redeemers"
72-
huddleRoundTripAnnCborSpec @(Tx Conway) v "transaction"
50+
describe "Huddle" $ specWithHuddle conwayCDDL 100 $ do
51+
huddleRoundTripCborSpec @(Value Conway) v "positive_coin"
52+
huddleRoundTripCborSpec @(Value Conway) v "value"
53+
huddleRoundTripAnnCborSpec @(TxBody Conway) v "transaction_body"
54+
huddleRoundTripAnnCborSpec @(TxAuxData Conway) v "auxiliary_data"
55+
huddleRoundTripAnnCborSpec @(Timelock Conway) v "native_script"
56+
huddleRoundTripAnnCborSpec @(Data Conway) v "plutus_data"
57+
huddleRoundTripCborSpec @(TxOut Conway) v "transaction_output"
58+
huddleRoundTripAnnCborSpec @(Script Conway) v "script"
59+
huddleRoundTripCborSpec @(Datum Conway) v "datum_option"
60+
huddleRoundTripAnnCborSpec @(TxWits Conway) v "transaction_witness_set"
61+
huddleRoundTripCborSpec @(PParamsUpdate Conway) v "protocol_param_update"
62+
huddleRoundTripCborSpec @CostModels v "cost_models"
63+
huddleRoundTripAnnCborSpec @(Redeemers Conway) v "redeemers"
64+
huddleRoundTripAnnCborSpec @(Tx Conway) v "transaction"
65+
huddleRoundTripCborSpec @(VotingProcedure Conway) v "voting_procedure"
66+
huddleRoundTripCborSpec @(ProposalProcedure Conway) v "proposal_procedure"
67+
huddleRoundTripCborSpec @(GovAction Conway) v "gov_action"
68+
huddleRoundTripCborSpec @(TxCert Conway) v "certificate"

0 commit comments

Comments
 (0)