Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,8 @@ source-repository-package
type: git
location: https://github.com/tweag/cardano-cls.git
subdir: merkle-tree-incremental mempack-scls scls-cbor scls-cardano scls-format scls-core
--sha256: sha256-olahRoXIykwIeCwRFSNy4CJC68F+N/A2M0B25Wj8Rz0=
tag: 0fd0b9d252637684c117f1366a87ae404fed41e1
--sha256: sha256-HqkjvqBwo8zZpKHZY7R21OVhP7VQtfoBwK0vawZtNfg=
tag: 98b29d8a866d4dd6658682e285a3d49c17039d0d

if impl(ghc >=9.14)
source-repository-package
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ spec :: Spec
spec =
describe "CDDL" $ do
let v = eraProtVerLow @AllegraEra
specWithHuddle allegraCDDL 100 $ do
describe "Huddle" $ specWithHuddle allegraCDDL $ do
huddleRoundTripCborSpec @(Value AllegraEra) v "coin"
huddleRoundTripAnnCborSpec @(TxBody TopTx AllegraEra) v "transaction_body"
huddleRoundTripCborSpec @(TxBody TopTx AllegraEra) v "transaction_body"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ spec :: Spec
spec =
describe "CDDL" $ do
let v = eraProtVerHigh @AlonzoEra
specWithHuddle alonzoCDDL 100 $ do
describe "Huddle" $ specWithHuddle alonzoCDDL $ do
huddleRoundTripCborSpec @(Value AlonzoEra) v "coin"
huddleRoundTripAnnCborSpec @(TxBody TopTx AlonzoEra) v "transaction_body"
huddleRoundTripCborSpec @(TxBody TopTx AlonzoEra) v "transaction_body"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ spec :: Spec
spec =
describe "CDDL" $ do
let v = eraProtVerHigh @BabbageEra
specWithHuddle babbageCDDL 100 $ do
describe "Huddle" $ specWithHuddle babbageCDDL $ do
huddleRoundTripCborSpec @(Value BabbageEra) v "coin"
huddleRoundTripAnnCborSpec @(TxBody TopTx BabbageEra) v "transaction_body"
huddleRoundTripCborSpec @(TxBody TopTx BabbageEra) v "transaction_body"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import Cardano.Ledger.Core
import Cardano.Ledger.Plutus.Data (Data, Datum)
import Test.Cardano.Ledger.Alonzo.Arbitrary (genNonEmptyRedeemers)
import Test.Cardano.Ledger.Binary.Cuddle (
huddleAntiCborSpec,
huddleDecoderEquivalenceSpec,
huddleRoundTripAnnCborSpec,
huddleRoundTripArbitraryValidate,
Expand All @@ -32,51 +33,61 @@ spec :: Spec
spec = do
describe "CDDL" $ do
let v = eraProtVerHigh @ConwayEra
specWithHuddle conwayCDDL 100 $ do
describe "Huddle" $ specWithHuddle conwayCDDL $ do
-- Value
huddleRoundTripCborSpec @(Value ConwayEra) v "positive_coin"
huddleRoundTripArbitraryValidate @(Value ConwayEra) v "value"
huddleRoundTripCborSpec @(Value ConwayEra) v "value"
huddleAntiCborSpec @(Value ConwayEra) v "value"
-- TxBody
huddleRoundTripAnnCborSpec @(TxBody TopTx ConwayEra) v "transaction_body"
-- TODO enable this once map/list expansion has been optimized in cuddle
xdescribe "fix scripts" $
huddleRoundTripArbitraryValidate @(TxBody TopTx ConwayEra) v "transaction_body"
huddleRoundTripCborSpec @(TxBody TopTx ConwayEra) v "transaction_body"
huddleAntiCborSpec @(TxBody TopTx ConwayEra) v "transaction_body"
-- AuxData
huddleRoundTripAnnCborSpec @(TxAuxData ConwayEra) v "auxiliary_data"
-- TODO fails because of plutus scripts
xdescribe "fix plutus scripts" $
huddleRoundTripArbitraryValidate @(TxAuxData ConwayEra) v "auxiliary_data"
huddleRoundTripCborSpec @(TxAuxData ConwayEra) v "auxiliary_data"
huddleAntiCborSpec @(TxAuxData ConwayEra) v "auxiliary_data"
-- NativeScript
huddleRoundTripAnnCborSpec @(Timelock ConwayEra) v "native_script"
huddleRoundTripArbitraryValidate @(Timelock ConwayEra) v "native_script"
huddleRoundTripCborSpec @(Timelock ConwayEra) v "native_script"
huddleAntiCborSpec @(Timelock ConwayEra) v "native_script"
-- Data
huddleRoundTripAnnCborSpec @(Data ConwayEra) v "plutus_data"
huddleRoundTripArbitraryValidate @(Data ConwayEra) v "plutus_data"
huddleRoundTripCborSpec @(Data ConwayEra) v "plutus_data"
huddleAntiCborSpec @(Data ConwayEra) v "plutus_data"
-- TxOut
huddleRoundTripCborSpec @(TxOut ConwayEra) v "transaction_output"
xdescribe "fix scripts" $ huddleRoundTripArbitraryValidate @(TxOut ConwayEra) v "transaction_output"
huddleAntiCborSpec @(TxOut ConwayEra) v "transaction_output"
-- Script
huddleRoundTripAnnCborSpec @(Script ConwayEra) v "script"
-- TODO fails because of `plutus_v1_script`
xdescribe "fix plutus_v1_script" $ huddleRoundTripArbitraryValidate @(Script ConwayEra) v "script"
huddleRoundTripCborSpec @(Script ConwayEra) v "script"
huddleAntiCborSpec @(Script ConwayEra) v "script"
-- Datum
huddleRoundTripCborSpec @(Datum ConwayEra) v "datum_option"
huddleAntiCborSpec @(Datum ConwayEra) v "datum_option"
-- TODO NoDatum is encoded as an empty bytestring
xdescribe "fix NoDatum" $ huddleRoundTripArbitraryValidate @(Datum ConwayEra) v "datum_option"
-- TxWits
huddleRoundTripAnnCborSpec @(TxWits ConwayEra) v "transaction_witness_set"
huddleAntiCborSpec @(TxWits ConwayEra) v "transaction_witness_set"
-- TODO fails because of plutus_v1_script
xdescribe "fix plutus_v1_script" $
huddleRoundTripArbitraryValidate @(TxWits ConwayEra) v "transaction_witness_set"
huddleRoundTripCborSpec @(TxWits ConwayEra) v "transaction_witness_set"
-- PParamsUpdate
huddleRoundTripCborSpec @(PParamsUpdate ConwayEra) v "protocol_param_update"
huddleAntiCborSpec @(PParamsUpdate ConwayEra) v "protocol_param_update"
huddleRoundTripArbitraryValidate @(PParamsUpdate ConwayEra) v "protocol_param_update"
-- CostModels
huddleRoundTripCborSpec @CostModels v "cost_models"
Expand All @@ -85,20 +96,25 @@ spec = do
huddleRoundTripAnnCborSpec @(Redeemers ConwayEra) v "redeemers"
huddleRoundTripGenValidate @(Redeemers ConwayEra) genNonEmptyRedeemers v "redeemers"
huddleRoundTripCborSpec @(Redeemers ConwayEra) v "redeemers"
huddleAntiCborSpec @(Redeemers ConwayEra) v "redeemers"
-- Tx
huddleRoundTripAnnCborSpec @(Tx TopTx ConwayEra) v "transaction"
-- TODO enable this once map/list expansion has been optimized in cuddle
xdescribe "hangs" $ huddleRoundTripArbitraryValidate @(Tx TopTx ConwayEra) v "transaction"
huddleRoundTripCborSpec @(Tx TopTx ConwayEra) v "transaction"
huddleAntiCborSpec @(Tx TopTx ConwayEra) v "transaction"
-- VotingProcedure
huddleRoundTripCborSpec @(VotingProcedure ConwayEra) v "voting_procedure"
huddleRoundTripArbitraryValidate @(VotingProcedure ConwayEra) v "voting_procedure"
huddleAntiCborSpec @(VotingProcedure ConwayEra) v "voting_procedure"
-- ProposalProcedure
huddleRoundTripCborSpec @(ProposalProcedure ConwayEra) v "proposal_procedure"
huddleRoundTripArbitraryValidate @(ProposalProcedure ConwayEra) v "proposal_procedure"
huddleAntiCborSpec @(ProposalProcedure ConwayEra) v "proposal_procedure"
-- GovAction
huddleRoundTripCborSpec @(GovAction ConwayEra) v "gov_action"
huddleRoundTripArbitraryValidate @(GovAction ConwayEra) v "gov_action"
huddleAntiCborSpec @(GovAction ConwayEra) v "gov_action"
-- TxCert
huddleRoundTripCborSpec @(TxCert ConwayEra) v "certificate"
huddleRoundTripArbitraryValidate @(TxCert ConwayEra) v "certificate"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ spec :: Spec
spec = do
describe "CDDL" $ do
let v = eraProtVerHigh @DijkstraEra
specWithHuddle dijkstraCDDL 100 $ do
describe "Huddle" $ specWithHuddle dijkstraCDDL $ do
huddleRoundTripCborSpec @(AccountBalanceInterval DijkstraEra) v "account_balance_interval"
huddleRoundTripCborSpec @(AccountBalanceIntervals DijkstraEra) v "account_balance_intervals"
huddleRoundTripArbitraryValidate @(AccountBalanceInterval DijkstraEra) v "account_balance_interval"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ spec :: Spec
spec =
describe "CDDL" $ do
let v = eraProtVerLow @MaryEra
specWithHuddle maryCDDL 100 $ do
describe "Huddle" $ specWithHuddle maryCDDL $ do
huddleRoundTripCborSpec @(Value MaryEra) v "value"
huddleRoundTripAnnCborSpec @(TxBody TopTx MaryEra) v "transaction_body"
huddleRoundTripCborSpec @(TxBody TopTx MaryEra) v "transaction_body"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import Cardano.Ledger.Shelley.HuddleSpec (shelleyCDDL)
import Cardano.Ledger.State (StakePoolRelay)
import Cardano.Ledger.TxIn (TxIn)
import Test.Cardano.Ledger.Binary.Cuddle (
huddleAntiCborSpec,
huddleDecoderEquivalenceSpec,
huddleRoundTripAnnCborSpec,
huddleRoundTripArbitraryValidate,
Expand All @@ -31,31 +32,46 @@ spec :: Spec
spec =
describe "CDDL" $ do
let v = eraProtVerLow @ShelleyEra
specWithHuddle shelleyCDDL 100 $ do
describe "Huddle" $ specWithHuddle shelleyCDDL $ do
huddleRoundTripCborSpec @Addr v "address"
huddleRoundTripArbitraryValidate @Addr v "address"
huddleRoundTripAnnCborSpec @BootstrapWitness v "bootstrap_witness"
huddleRoundTripArbitraryValidate @BootstrapWitness v "bootstrap_witness"
huddleRoundTripCborSpec @BootstrapWitness v "bootstrap_witness"
huddleRoundTripCborSpec @AccountAddress v "reward_account"
huddleAntiCborSpec @BootstrapWitness v "bootstrap_witness"
huddleAntiCborSpec @AccountAddress v "reward_account"
huddleRoundTripCborSpec @(Credential Staking) v "stake_credential"
huddleAntiCborSpec @(Credential Staking) v "stake_credential"
huddleRoundTripAnnCborSpec @(TxBody TopTx ShelleyEra) v "transaction_body"
huddleRoundTripCborSpec @(TxBody TopTx ShelleyEra) v "transaction_body"
huddleAntiCborSpec @(TxBody TopTx ShelleyEra) v "transaction_body"
huddleRoundTripCborSpec @(TxOut ShelleyEra) v "transaction_output"
huddleAntiCborSpec @(TxOut ShelleyEra) v "transaction_output"
huddleRoundTripCborSpec @StakePoolRelay v "relay"
huddleAntiCborSpec @StakePoolRelay v "relay"
huddleRoundTripCborSpec @(TxCert ShelleyEra) v "certificate"
huddleAntiCborSpec @(TxCert ShelleyEra) v "certificate"
huddleRoundTripCborSpec @TxIn v "transaction_input"
huddleAntiCborSpec @TxIn v "transaction_input"
huddleRoundTripAnnCborSpec @(TxAuxData ShelleyEra) v "metadata"
huddleRoundTripCborSpec @(TxAuxData ShelleyEra) v "metadata"
huddleAntiCborSpec @(TxAuxData ShelleyEra) v "metadata"
huddleRoundTripAnnCborSpec @(MultiSig ShelleyEra) v "native_script"
huddleRoundTripCborSpec @(MultiSig ShelleyEra) v "native_script"
huddleAntiCborSpec @(MultiSig ShelleyEra) v "native_script"
huddleRoundTripCborSpec @(Update ShelleyEra) v "update"
huddleAntiCborSpec @(Update ShelleyEra) v "update"
huddleRoundTripCborSpec @(ProposedPPUpdates ShelleyEra) v "proposed_protocol_parameter_updates"
huddleAntiCborSpec @(ProposedPPUpdates ShelleyEra) v "proposed_protocol_parameter_updates"
huddleRoundTripCborSpec @(PParamsUpdate ShelleyEra) v "protocol_param_update"
huddleAntiCborSpec @(ProposedPPUpdates ShelleyEra) v "proposed_protocol_parameter_updates"
huddleRoundTripAnnCborSpec @(Tx TopTx ShelleyEra) v "transaction"
huddleRoundTripCborSpec @(Tx TopTx ShelleyEra) v "transaction"
huddleAntiCborSpec @(Tx TopTx ShelleyEra) v "transaction"
huddleRoundTripAnnCborSpec @(TxWits ShelleyEra) v "transaction_witness_set"
huddleRoundTripCborSpec @(TxWits ShelleyEra) v "transaction_witness_set"
huddleAntiCborSpec @(TxWits ShelleyEra) v "transaction_witness_set"
describe "DecCBOR instances equivalence via CDDL" $ do
huddleDecoderEquivalenceSpec @BootstrapWitness v "bootstrap_witness"
huddleDecoderEquivalenceSpec @(TxBody TopTx ShelleyEra) v "transaction_body"
Expand Down
6 changes: 3 additions & 3 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 2 additions & 3 deletions libs/cardano-ledger-binary/cardano-ledger-binary.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ library testlib
build-depends:
ImpSpec,
QuickCheck,
antigen >=0.3.1.0 && <0.4,
base,
base16-bytestring,
bytestring,
Expand All @@ -127,17 +128,15 @@ library testlib
cardano-strict-containers,
cborg,
containers,
cuddle >=1.1 && <1.1.2,
cuddle >=1.2,
directory,
filepath,
formatting,
half,
hedgehog,
hspec,
hspec-core,
iproute,
pretty-show,
pretty-simple,
prettyprinter,
prettyprinter-ansi-terminal,
primitive,
Expand Down
Loading
Loading