Skip to content
Closed
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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
71 changes: 63 additions & 8 deletions cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,58 @@ index-state:
-- Bump this if you need newer packages from Hackage
, hackage.haskell.org 2026-05-18T17:14:36Z
-- Bump this if you need newer packages from CHaP
, cardano-haskell-packages 2026-05-18T13:56:34Z

active-repositories:
, :rest
, cardano-haskell-packages:override
, cardano-haskell-packages 2026-05-26T09:41:58Z

packages: .

-- cardano-config, part of cardano-base
source-repository-package
type: git
location: https://github.com/IntersectMBO/cardano-base
tag: 8761e5c7ad09935376ec440cf33919b7544b5975
--sha256: sha256-uMExJzjeRB3DZi27zBgfdXArxiNen4e9poavE58atuI=
subdir:
cardano-config

-- kes-agent on branch f-f/allow-crypto-class-2.5
source-repository-package
type: git
location: https://github.com/f-f/kes-agent.git
tag: 32c1ed675d22a30735d9f22f7afa436a3ef3e64a
--sha256: sha256-o7hFX1JnraS6Xq0WoXQwd9Z8GsPPv0Ls2DWvZ08o0ZU=
subdir:
kes-agent
kes-agent-crypto

-- cardano-ledger on master 2026-06-18
source-repository-package
type: git
location: https://github.com/IntersectMBO/cardano-ledger.git
tag: 8dc1c431e06db2c8b5d44fb4b3cca6419197d763
--sha256: sha256-xKtgNFxjbJE6UWGvTioGX81NgvlKH3mHEaYMWDm8/UA=
subdir:
eras/allegra/impl
eras/alonzo/impl
eras/babbage/impl
eras/byron/chain/executable-spec
eras/byron/crypto
eras/byron/ledger/executable-spec
eras/byron/ledger/impl
eras/conway/impl
eras/dijkstra/impl
eras/mary/impl
eras/shelley/impl
eras/shelley/test-suite
eras/shelley-ma/test-suite
libs/cardano-data
libs/cardano-ledger-api
libs/cardano-ledger-binary
libs/cardano-ledger-core
libs/cardano-protocol-tpraos
libs/non-integral
libs/small-steps
libs/vector-map

-- We want to always build the test-suites and benchmarks
tests: true
benchmarks: true
Expand All @@ -47,13 +91,24 @@ if os (windows)
constraints:
tasty <1.5.4,

-- ouroboros-network dependency after introducing `bracketKeepAlive` (PR#5371)
-- on f-f/allow-quickcheck-218 branch
source-repository-package
type: git
location: https://github.com/IntersectMBO/ouroboros-network
tag: e8d59d8a219563760fc21ba5bc86fab77d886742
--sha256: sha256-ElgaE5JeDTPfyDQnyZs5ZlOdzlnZYl7z1OgkzCBJjek=
tag: 8b4dcb898b64615f574a7fbdcf119f77c7fbc598
--sha256: sha256-t1tGV5uZwyKnSSCbaJJAteMYKnQYeO39hUUycMRuC2M=
subdir:
ouroboros-network
cardano-diffusion
network-mux

-- plutus on branch master
source-repository-package
type: git
location: https://github.com/IntersectMBO/plutus.git
tag: b1db04cc425fab303ac3b79d7140dc2a17f29e6d
--sha256: sha256-XtYzjNVx4+IGWpgm+p/YTf56DrJtK0I98umZCTE3U80=
subdir:
plutus-core
plutus-ledger-api
plutus-tx
1 change: 1 addition & 0 deletions cabal/newer-ghcs.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ if impl (ghc >= 9.14)
, serialise:base
, serialise:containers
, serialise:time
, tdigest:base
, these:base
, time-compat:time
, transformers:base
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
### Breaking

- Renamed `Ouroboros.Consensus.Protocol.Praos.Views.LedgerView` to `PraosLedgerView`,
with the fields renamed from `lv*` to `plv*`.
- Removed `PraosEnvelopeError` from the exports of `Ouroboros.Consensus.Shelley.Protocol.Praos`.
- `EnvelopeCheckError (Praos c)` and `EnvelopeCheckError (TPraos c)` are both now
`Ouroboros.Consensus.Shelley.Protocol.EnvelopeChecks.EnvelopeError`.

### Non-Breaking

- Add module `Ouroboros.Consensus.Shelley.Protocol.EnvelopeChecks`; consolidates
envelope-check logic previously inlined in `Ouroboros.Consensus.Shelley.Protocol.{Praos,TPraos}`.
- Add instance for `Dijkstra` era `EraBlockHeader (Header c) era` in `Ouroboros.Consensus.Protocol.Praos.Header`
- Add `forecastToPraosLedgerView` to `Ouroboros.Consensus.Protocol.Praos.Views`.
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
### Breaking

- Change `ShelleyBasedEra` class superclass constraints:
- change `SL.ApplyBlock era` to `SL.ApplyTick era`.
- change `SL.GetLedgerView era` to `SL.EraForecast era`.
- remove `NoThunks (PredicateFailure (EraRule "BBODY" era))`.
- `ShelleyCompatible proto era` has three new superclass constraints:
- `EncCBORGroup (SL.BlockBody era)`,
- `SL.EraBlockHeader (ShelleyProtocolHeader proto) era`,
- `SL.ApplyBlock (ShelleyProtocolHeader proto) era`.
- Remove `ShelleyCompatible (TPraos c) BabbageEra`, `ShelleyCompatible (TPraos c) ConwayEra`,
and `ShelleyCompatible (TPraos c) DijkstraEra` instances from `Ouroboros.Consensus.Shelley.HFEras`.
These eras now run under Praos only.
- Remove the `ProtocolHeaderSupportsLedger` class from `Ouroboros.Consensus.Shelley.Protocol.Abstract`.
- `LedgerSupportsProtocol (ShelleyBlock (TPraos crypto) era)` instance now requires `SL.ShelleyEraForecast era`.
- `LedgerSupportsProtocol (ShelleyBlock (Praos crypto) era)` instance no longer requires
`ShelleyCompatible (TPraos crypto) era` and instead requires `SL.EraForecast era`.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
### Breaking

- `protocolInfoCardano`, `protocolInfoShelley` and `protocolInfoTPraosShelleyBased`
now take an additional initial argument `SomeHasFS m` and returns
inside `m`. Their callback for creating blocks also returns values in `m`.
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
### Breaking

- The constraint on the following functions tightens from `Applicative m` to `Monad m`:
- `Ouroboros.Consensus.Storage.ImmutableDB.Impl.defaultArgs`
- `Ouroboros.Consensus.Storage.LedgerDB.Args.defaultArgs`
- `Ouroboros.Consensus.Storage.VolatileDB.Impl.defaultArgs`
- `Ouroboros.Consensus.Storage.PerasCertDB.Impl.defaultArgs`
- `Ouroboros.Consensus.Storage.PerasVoteDB.Impl.defaultArgs`
- `Ouroboros.Consensus.Storage.ChainDB.Impl.Args.updateTracer`
- `Ouroboros.Consensus.Storage.ChainDB.Impl.fromChainDbEnv`
- `Ouroboros.Consensus.Util.Enclose.encloseWith`
- `Ouroboros.Consensus.Storage.LedgerDB.decorateReplayTracerWithGoal`
- `Ouroboros.Consensus.Storage.LedgerDB.decorateReplayTracerWithStart`
- `Ouroboros.Consensus.Network.NodeToClient.showTracers`,
`Ouroboros.Consensus.Network.NodeToNode.showTracers`, and
`Ouroboros.Consensus.Node.Tracers.showTracers` now require `Monad m`.
- Remove the `NoThunks FsPath` orphan instance from `Ouroboros.Consensus.Util.Orphans`;
it is now provided upstream by `cardano-ledger` (`Cardano.Ledger.Orphans` in
`cardano-ledger-core`).
- Remove the orphan `Measure ()` instance from
`Ouroboros.Consensus.Ledger.SupportsMempool`.
- `HasBLSContext` instances for `SIGN` and `VRF` now use `minSigPoPDST` as their base context.
- Upgrade lower bounds for Node 11.1 integration of upstream packages `cardano-base`,
`cardano-ledger`, `kes-agent`, `ouroboros-network`, `validation`
60 changes: 21 additions & 39 deletions flake.lock

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

7 changes: 7 additions & 0 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,13 @@
ghc912 = hydraJobs.native.haskell912.devShell;
ghc912-profiled = hydraJobs.native.haskell912.devShellProfiled;

# 9.14 is not a hydra job yet
ghc914 = import ./nix/shell.nix {
inherit inputs pkgs;
hsPkgs = pkgs.hsPkgs.projectVariants.ghc914;
withHls = false;
};

agda-spec = pkgs.agda-spec.shell;

website = pkgs.mkShell {
Expand Down
1 change: 1 addition & 0 deletions nix/haskell.nix
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ let
flake.variants = {
ghc910 = { compiler-nix-name = lib.mkForce "ghc9103"; };
ghc912 = { compiler-nix-name = lib.mkForce "ghc9122"; };
ghc914 = { compiler-nix-name = lib.mkForce "ghc9141"; };
};
inputMap = {
"https://chap.intersectmbo.org/" = inputs.CHaP;
Expand Down
4 changes: 2 additions & 2 deletions nix/shell.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ inputs, pkgs, hsPkgs }:
{ inputs, pkgs, hsPkgs, withHls ? true }:

let
inherit (pkgs) lib;
Expand Down Expand Up @@ -32,7 +32,7 @@ hsPkgs.shellFor {

# This is the place for tools that are required to be built with the same GHC
# version as used in hsPkgs.
tools = {
tools = lib.optionalAttrs withHls {
haskell-language-server = {
src = inputs.hls;
configureArgs = "--disable-benchmarks --disable-tests";
Expand Down
Loading