Skip to content
Draft
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
220 changes: 215 additions & 5 deletions cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ source-repository-package
-- NOTE: If you would like to update the above,
-- see CONTRIBUTING.md#to-update-the-referenced-agda-ledger-spec
index-state:
, hackage.haskell.org 2025-09-30T00:00:00Z
, cardano-haskell-packages 2025-10-01T14:54:47Z
, hackage.haskell.org 2025-11-02T18:37:41Z
, cardano-haskell-packages 2025-10-29T16:43:43Z

packages:
-- == Byron era ==
Expand Down Expand Up @@ -92,7 +92,217 @@ benchmarks: true
-- The only sensible test display option
test-show-details: streaming

if impl(ghc >=9.12)
allow-newer:
-- https://github.com/phadej/vec/issues/121
, ral:QuickCheck
, fin:QuickCheck
, bin:QuickCheck

if impl(ghc >=9.14)
source-repository-package
type: git
-- https://github.com/snowleopard/alga/issues/322
location: https://github.com/snowleopard/alga/
tag: d4e43fb42db05413459fb2df493361d5a666588a

source-repository-package
type: git
location: https://github.com/IntersectMBO/plutus
tag: 8a12ec250b3bfefc12108d04e3ea5a9b473b0028
subdir:
plutus-core
plutus-tx
plutus-ledger-api

if impl (ghc >= 9.14)
constraints:
, containers > 0.7
, foldl >= 1.4.18
, nothunks ^>= 0.2
, microlens ^>= 0.4
, microlens-th < 0.4.3.18
-- Newest version causes Arbitrary instance clashes in quickcheck-instances.
, QuickCheck < 2.17.0.0

-- cabal-allow-newer
if impl (ghc >= 9.14)
allow-newer:
-- Unique: https://github.com/kapralVV/Unique/issues/11
, Unique:hashable
, OneTuple:base
, aeson:base
, aeson:bytestring
, aeson:containers
, aeson:deepseq
, aeson:ghc-prim
, aeson:template-haskell
, aeson:text-short
, aeson:time
, aeson:witherable
, assoc:base
, async:base
, base64-bytestring-type:base
, base64-bytestring-type:http-api-data
, bifunctors:containers
, bifunctors:template-haskell
, bin:base
, binary-orphans:base
, boring:base
, boring:tagged
, brick:base
, canonical-json:containers
, cborg:base
, cborg:containers
, concurrent-output:process
, config-ini:containers
, config-ini:megaparsec
, constraints:boring
, constraints:hashable
, constraints-extras:base
, constraints-extras:template-haskell
, containers:base
, containers:deepseq
, containers:template-haskell
, cuddle:foldable1-classes-compat
, cuddle:megaparsec
, data-default:containers
, data-default-class:data-default
, data-fix:base
, dec:base
, deepseq:base
, deepseq:ghc-prim
, dependent-map:constraints-extras
, dependent-map:containers
, deriving-compat:containers
, deriving-compat:template-haskell
, dictionary-sharing:containers
, directory:base
, directory:time
, dom-lt:containers
, filepath:bytestring
, filepath:template-haskell
, fin:base
, fin:universe-base
, foldable1-classes-compat:base
, foldl:containers
, free:containers
, free:template-haskell
, free:transformers
, generically:base
, ghc-heap:containers
, ghc-heap:ghc-internal
, hashable:base
, hashable:bytestring
, hashable:containers
, hashable:ghc-bignum
, hashable:ghc-prim
, hedgehog:async
, hedgehog:containers
, hedgehog:template-haskell
, hedgehog:time
, hsc2hs:base
, http-api-data:base
, http-api-data:containers
, indexed-traversable:base
, indexed-traversable:containers
, indexed-traversable-instances:OneTuple
, indexed-traversable-instances:base
, integer-conversion:base
, integer-logarithms:base
, integer-logarithms:ghc-bignum
, io-classes:base
, io-classes:time
, ledger-state:persistent
, lens:containers
, lens:parallel
, lens:template-haskell
, megaparsec:containers
, microlens-th:containers
, microlens-th:template-haskell
, microstache:base
, microstache:containers
, monoidal-containers:base
, monoidal-containers:containers
, nonempty-vector:base
, nothunks:containers
, nothunks:time
, nothunks:wherefrom-compat
, optics-core:containers
, ordered-containers:containers
, parallel:base
, persistent:template-haskell
, persistent-sqlite:persistent
, plutus-core:dependent-map
, primitive:base
, process:base
, process:directory
, quickcheck-instances:base
, quickcheck-instances:containers
, quickcheck-instances:data-fix
, quickcheck-instances:time-compat
, ral:base
, recursion-schemes:containers
, recursion-schemes:template-haskell
, scientific:base
, scientific:containers
, scientific:template-haskell
, semialign:base
, semialign:containers
, semialign:indexed-traversable
, semialign:indexed-traversable-instances
, semigroupoids:bifunctors
, serialise:base
, serialise:containers
, serialise:ghc-prim
, serialise:these
, serialise:time
, singletons:base
, singletons-th:base
, singletons-th:singletons
, singletons-th:template-haskell
, singletons-th:th-desugar
, singletons-th:th-orphans
, size-based:template-haskell
, some:base
, splitmix:base
, tagged:template-haskell
, tasty-hedgehog:base
, text:bytestring
, text-iso8601:time
, text-short:base
, text-short:ghc-prim
, text-short:template-haskell
, th-abstraction:containers
, th-abstraction:template-haskell
, th-compat:template-haskell
, th-desugar:template-haskell
, th-expand-syns:base
, th-expand-syns:containers
, th-expand-syns:template-haskell
, th-lift:template-haskell
, th-lift-instances:th-lift
, th-orphans:template-haskell
, these:assoc
, these:base
, time-compat:base
, time-compat:time
, transformers:base
, tree-diff:aeson
, tree-diff:base
, tree-diff:containers
, tree-diff:scientific
, tree-diff:semialign
, tree-diff:time
, tree-diff:unordered-containers
, universe-base:base
, universe-base:containers
, unordered-containers:base
, unordered-containers:template-haskell
, uuid-types:deepseq
, uuid-types:template-haskell
, validation-selective:base
, vault:base
, vault:containers
, vector-th-unbox:base
, vector-th-unbox:template-haskell
, wherefrom-compat:base
, wherefrom-compat:ghc-heap
, witherable:containers
12 changes: 12 additions & 0 deletions eras/allegra/impl/src/Cardano/Ledger/Allegra/Scripts.hs
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,13 @@ module Cardano.Ledger.Allegra.Scripts (
mkTimeExpireTimelock,
getTimeExpireTimelock,
Timelock (MkTimelock, TimelockConstr),
#if __GLASGOW_HASKELL__ >= 914
data RequireTimeExpire,
data RequireTimeStart,
#else
pattern RequireTimeExpire,
pattern RequireTimeStart,
#endif
TimelockRaw (..),
inInterval,
showTimelock,
Expand Down Expand Up @@ -94,10 +99,17 @@ import Cardano.Ledger.MemoBytes.Internal (mkMemoBytes)
import Cardano.Ledger.Shelley.Scripts (
ShelleyEraScript (..),
nativeMultiSigTag,
#if __GLASGOW_HASKELL__ >= 914
data RequireAllOf,
data RequireAnyOf,
data RequireMOf,
data RequireSignature,
#else
pattern RequireAllOf,
pattern RequireAnyOf,
pattern RequireMOf,
pattern RequireSignature,
#endif
)
import Cardano.Slotting.Slot (SlotNo (..))
import Control.DeepSeq (NFData (..))
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE FlexibleContexts #-}
Expand Down Expand Up @@ -25,16 +26,29 @@ import Cardano.Ledger.Allegra.Scripts (
AllegraEraScript (..),
Timelock (..),
ValidityInterval (..),
#if __GLASGOW_HASKELL__ >= 914
data RequireTimeExpire,
data RequireTimeStart,
#else
pattern RequireTimeExpire,
pattern RequireTimeStart,
#endif
)
import Cardano.Ledger.Allegra.Transition
import Cardano.Ledger.Allegra.TxAuxData (AllegraTxAuxData (..))
#if __GLASGOW_HASKELL__ >= 914
import Cardano.Ledger.Allegra.TxBody (data AllegraTxBody)
#else
import Cardano.Ledger.Allegra.TxBody (pattern AllegraTxBody)
#endif
import Cardano.Ledger.Core
import Cardano.Ledger.Shelley.API (ShelleyTxAuxData (ShelleyTxAuxData))
import Cardano.Ledger.Shelley.Scripts (
#if __GLASGOW_HASKELL__ >= 914
data RequireSignature,
#else
pattern RequireSignature,
#endif
)
import Data.Sequence.Strict (StrictSeq, fromList)
import Generic.Random (genericArbitraryU)
Expand Down Expand Up @@ -69,7 +83,11 @@ instance
forall era.
( AllegraEraScript era
, Arbitrary (NativeScript era)
#if __GLASGOW_HASKELL__ < 914
-- These constraints are REQUIRED for ghc < 9.14 but REDUNDANT for ghc >= 9.14
-- See https://gitlab.haskell.org/ghc/ghc/-/issues/26381#note_637863
, Arbitrary (Script era)
#endif
, Era era
) =>
Arbitrary (AllegraTxAuxData era)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE LambdaCase #-}
Expand All @@ -18,14 +19,26 @@ import Cardano.Ledger.Allegra.Scripts (
AllegraEraScript,
Timelock,
evalTimelock,
#if __GLASGOW_HASKELL__ >= 914
data RequireTimeExpire,
data RequireTimeStart,
#else
pattern RequireTimeExpire,
pattern RequireTimeStart,
#endif
)
import Cardano.Ledger.Shelley.Scripts (
#if __GLASGOW_HASKELL__ >= 914
data RequireAllOf,
data RequireAnyOf,
data RequireMOf,
data RequireSignature,
#else
pattern RequireAllOf,
pattern RequireAnyOf,
pattern RequireMOf,
pattern RequireSignature,
#endif
)
import qualified Data.Map.Strict as Map
import qualified Data.Set as Set
Expand Down
6 changes: 6 additions & 0 deletions eras/alonzo/impl/src/Cardano/Ledger/Alonzo.hs
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE UndecidableInstances #-}
{-# OPTIONS_GHC -Wno-orphans #-}

Expand All @@ -12,7 +14,11 @@ module Cardano.Ledger.Alonzo (
AlonzoEra,
AlonzoTxOut,
MaryValue,
#if __GLASGOW_HASKELL__ >= 914
data AlonzoTxBody,
#else
pattern AlonzoTxBody,
#endif
AlonzoScript,
AlonzoTxAuxData,
Tx (..),
Expand Down
Loading
Loading