Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
156d119
Add `DijkstraEra era` to `CardanoEra era`
Jimbo4350 Jul 30, 2025
2872eda
Add `ShelleyBasedEraDijkstra` to `ShelleyBasedEra era`
Jimbo4350 Jul 30, 2025
dda8797
Add Dijkstra era to eons
Jimbo4350 Jul 30, 2025
704d11d
Add `DijkstraEra` to `Era era`
Jimbo4350 Jul 30, 2025
7a86381
COMBINE ME: cabal file updates
Jimbo4350 Jul 30, 2025
5be60e0
Update `QueryInShelleyBasedEra era result`
Jimbo4350 Jul 30, 2025
3a8826d
Update `makeShelleyTransactionBody` with Dijkstra era
Jimbo4350 Jul 30, 2025
e63bb2c
Update ledger types `PParamUpdatePurpose`, `CommitteePurpose` and
Jimbo4350 Jul 30, 2025
63ad603
Propagate `ChainAccountState`
Jimbo4350 Jul 30, 2025
b483de7
Consensus related Dijkstra changes
Jimbo4350 Jul 30, 2025
0d8ee49
Temporary Cardano.Api.LedgerState Dijkstra update
Jimbo4350 Jul 30, 2025
730ff11
Update TxOut rendering to handle Dijkstra era
Jimbo4350 Jul 30, 2025
ca28c36
Update `eraSpecificLedgerTxBody` with Dijkstra era
Jimbo4350 Jul 30, 2025
d91aedc
Update `decodeBigLedgerPeerSnapshot` to support snapshot SRV names
Jimbo4350 Jul 30, 2025
338a657
Update generators with PlutusScriptV4
Jimbo4350 Jul 30, 2025
acdff31
Introduce PlutusScriptV4
Jimbo4350 Jul 30, 2025
3437b94
Propagate Dijkstra era
Jimbo4350 Jul 30, 2025
0a737a6
Merge with PlutusV4 intro
Jimbo4350 Jul 30, 2025
5229ec3
Merge with propagate Dikstra
Jimbo4350 Jul 30, 2025
6e832cb
REMOVE ME: Add ledger and consensus SRPs
Jimbo4350 Jul 30, 2025
8330132
Update nix flake
Jimbo4350 Jul 30, 2025
f3ca538
Update cardano-rpc with PlutusV4
Jimbo4350 Jul 31, 2025
6d81484
Implement `executeLocalStateQueryExprWithVersion`
Jimbo4350 Jul 31, 2025
4904a0d
Fix parseHardForkTriggers
Jimbo4350 Jul 31, 2025
2da81eb
Fix cardano-rpc-test for protocol parameters roundtrip
carbolymer Aug 1, 2025
673e4a8
Update flake lock and ouroboros-network and plutus patches
palas Aug 1, 2025
65013af
Update wasm cache
palas Aug 1, 2025
1efbb74
Merge with: Consensus related Dijkstra change
Aug 7, 2025
faab1c2
Use exampleDijkstraGenesis value
Aug 7, 2025
7b8fa12
Fix cabal-gild CI failure
Aug 7, 2025
0eeff17
Run formolu
Aug 7, 2025
a93eab2
Fix HLS CI job
carbolymer Aug 11, 2025
79b9c02
Address lints
palas Aug 12, 2025
64e62e7
Update `ouroboros-consensus` stanza
palas Aug 12, 2025
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
Prev Previous commit
Next Next commit
Add Dijkstra era to eons
  • Loading branch information
Jimbo4350 authored and Jordan Millar committed Aug 8, 2025
commit dda8797462bf790bcfef5aa845fc35cc42a0af13
10 changes: 10 additions & 0 deletions cardano-api/src/Cardano/Api/Era/Internal/Case.hs
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ caseByronOrShelleyBasedEra l r = \case
AlonzoEra -> r ShelleyBasedEraAlonzo
BabbageEra -> r ShelleyBasedEraBabbage
ConwayEra -> r ShelleyBasedEraConway
DijkstraEra -> r ShelleyBasedEraDijkstra

-- | @caseByronToAlonzoOrBabbageEraOnwards f g era@ applies @f@ to byron, shelley, allegra, mary, and alonzo;
-- and @g@ to babbage and later eras.
Expand All @@ -69,6 +70,7 @@ caseByronToAlonzoOrBabbageEraOnwards l r = \case
AlonzoEra -> l ByronToAlonzoEraAlonzo
BabbageEra -> r BabbageEraOnwardsBabbage
ConwayEra -> r BabbageEraOnwardsConway
DijkstraEra -> r BabbageEraOnwardsDijkstra

-- | @caseShelleyEraOnlyOrAllegraEraOnwards f g era@ applies @f@ to shelley;
-- and applies @g@ to allegra and later eras.
Expand All @@ -85,6 +87,7 @@ caseShelleyEraOnlyOrAllegraEraOnwards l r = \case
ShelleyBasedEraAlonzo -> r AllegraEraOnwardsAlonzo
ShelleyBasedEraBabbage -> r AllegraEraOnwardsBabbage
ShelleyBasedEraConway -> r AllegraEraOnwardsConway
ShelleyBasedEraDijkstra -> r AllegraEraOnwardsDijkstra

-- | @caseShelleyToAllegraOrMaryEraOnwards f g era@ applies @f@ to shelley and allegra;
-- and applies @g@ to mary and later eras.
Expand All @@ -101,6 +104,7 @@ caseShelleyToAllegraOrMaryEraOnwards l r = \case
ShelleyBasedEraAlonzo -> r MaryEraOnwardsAlonzo
ShelleyBasedEraBabbage -> r MaryEraOnwardsBabbage
ShelleyBasedEraConway -> r MaryEraOnwardsConway
ShelleyBasedEraDijkstra -> r MaryEraOnwardsDijkstra

-- | @caseShelleyToMaryOrAlonzoEraOnwards f g era@ applies @f@ to shelley, allegra, and mary;
-- and applies @g@ to alonzo and later eras.
Expand All @@ -117,6 +121,7 @@ caseShelleyToMaryOrAlonzoEraOnwards l r = \case
ShelleyBasedEraAlonzo -> r AlonzoEraOnwardsAlonzo
ShelleyBasedEraBabbage -> r AlonzoEraOnwardsBabbage
ShelleyBasedEraConway -> r AlonzoEraOnwardsConway
ShelleyBasedEraDijkstra -> r AlonzoEraOnwardsDijkstra

-- | @caseShelleyToAlonzoOrBabbageEraOnwards f g era@ applies @f@ to shelley, allegra, mary, and alonzo;
-- and applies @g@ to babbage and later eras.
Expand All @@ -133,6 +138,7 @@ caseShelleyToAlonzoOrBabbageEraOnwards l r = \case
ShelleyBasedEraAlonzo -> l ShelleyToAlonzoEraAlonzo
ShelleyBasedEraBabbage -> r BabbageEraOnwardsBabbage
ShelleyBasedEraConway -> r BabbageEraOnwardsConway
ShelleyBasedEraDijkstra -> r BabbageEraOnwardsDijkstra

-- | @caseShelleyToBabbageOrConwayEraOnwards f g era@ applies @f@ to eras before conway;
-- and applies @g@ to conway and later eras.
Expand All @@ -149,6 +155,7 @@ caseShelleyToBabbageOrConwayEraOnwards l r = \case
ShelleyBasedEraAlonzo -> l ShelleyToBabbageEraAlonzo
ShelleyBasedEraBabbage -> l ShelleyToBabbageEraBabbage
ShelleyBasedEraConway -> r ConwayEraOnwardsConway
ShelleyBasedEraDijkstra -> r ConwayEraOnwardsDijkstra

{-# DEPRECATED shelleyToAlonzoEraToShelleyToBabbageEra "Use convert instead" #-}
shelleyToAlonzoEraToShelleyToBabbageEra
Expand All @@ -170,6 +177,7 @@ alonzoEraOnwardsToMaryEraOnwards = \case
AlonzoEraOnwardsAlonzo -> MaryEraOnwardsAlonzo
AlonzoEraOnwardsBabbage -> MaryEraOnwardsBabbage
AlonzoEraOnwardsConway -> MaryEraOnwardsConway
AlonzoEraOnwardsDijkstra -> MaryEraOnwardsDijkstra

{-# DEPRECATED babbageEraOnwardsToMaryEraOnwards "Use convert instead" #-}
babbageEraOnwardsToMaryEraOnwards
Expand All @@ -179,6 +187,7 @@ babbageEraOnwardsToMaryEraOnwards
babbageEraOnwardsToMaryEraOnwards = \case
BabbageEraOnwardsBabbage -> MaryEraOnwardsBabbage
BabbageEraOnwardsConway -> MaryEraOnwardsConway
BabbageEraOnwardsDijkstra -> MaryEraOnwardsDijkstra

{-# DEPRECATED babbageEraOnwardsToAlonzoEraOnwards "Use convert instead" #-}
babbageEraOnwardsToAlonzoEraOnwards
Expand All @@ -188,3 +197,4 @@ babbageEraOnwardsToAlonzoEraOnwards
babbageEraOnwardsToAlonzoEraOnwards = \case
BabbageEraOnwardsBabbage -> AlonzoEraOnwardsBabbage
BabbageEraOnwardsConway -> AlonzoEraOnwardsConway
BabbageEraOnwardsDijkstra -> AlonzoEraOnwardsDijkstra
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ data AllegraEraOnwards era where
AllegraEraOnwardsAlonzo :: AllegraEraOnwards AlonzoEra
AllegraEraOnwardsBabbage :: AllegraEraOnwards BabbageEra
AllegraEraOnwardsConway :: AllegraEraOnwards ConwayEra
AllegraEraOnwardsDijkstra :: AllegraEraOnwards DijkstraEra

deriving instance Show (AllegraEraOnwards era)

Expand All @@ -60,6 +61,7 @@ instance Eon AllegraEraOnwards where
AlonzoEra -> yes AllegraEraOnwardsAlonzo
BabbageEra -> yes AllegraEraOnwardsBabbage
ConwayEra -> yes AllegraEraOnwardsConway
DijkstraEra -> yes AllegraEraOnwardsDijkstra

instance ToCardanoEra AllegraEraOnwards where
toCardanoEra = \case
Expand All @@ -68,6 +70,7 @@ instance ToCardanoEra AllegraEraOnwards where
AllegraEraOnwardsAlonzo -> AlonzoEra
AllegraEraOnwardsBabbage -> BabbageEra
AllegraEraOnwardsConway -> ConwayEra
AllegraEraOnwardsDijkstra -> DijkstraEra

instance Convert AllegraEraOnwards CardanoEra where
convert = toCardanoEra
Expand All @@ -79,6 +82,7 @@ instance Convert AllegraEraOnwards ShelleyBasedEra where
AllegraEraOnwardsAlonzo -> ShelleyBasedEraAlonzo
AllegraEraOnwardsBabbage -> ShelleyBasedEraBabbage
AllegraEraOnwardsConway -> ShelleyBasedEraConway
AllegraEraOnwardsDijkstra -> ShelleyBasedEraDijkstra

type AllegraEraOnwardsConstraints era =
( C.HashAlgorithm L.HASH
Expand Down Expand Up @@ -116,6 +120,7 @@ allegraEraOnwardsConstraints = \case
AllegraEraOnwardsAlonzo -> id
AllegraEraOnwardsBabbage -> id
AllegraEraOnwardsConway -> id
AllegraEraOnwardsDijkstra -> id

{-# DEPRECATED allegraEraOnwardsToShelleyBasedEra "Use 'convert' instead." #-}
allegraEraOnwardsToShelleyBasedEra :: AllegraEraOnwards era -> ShelleyBasedEra era
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ data AlonzoEraOnwards era where
AlonzoEraOnwardsAlonzo :: AlonzoEraOnwards AlonzoEra
AlonzoEraOnwardsBabbage :: AlonzoEraOnwards BabbageEra
AlonzoEraOnwardsConway :: AlonzoEraOnwards ConwayEra
AlonzoEraOnwardsDijkstra :: AlonzoEraOnwards DijkstraEra

deriving instance Show (AlonzoEraOnwards era)

Expand All @@ -67,12 +68,14 @@ instance Eon AlonzoEraOnwards where
AlonzoEra -> yes AlonzoEraOnwardsAlonzo
BabbageEra -> yes AlonzoEraOnwardsBabbage
ConwayEra -> yes AlonzoEraOnwardsConway
DijkstraEra -> yes AlonzoEraOnwardsDijkstra

instance ToCardanoEra AlonzoEraOnwards where
toCardanoEra = \case
AlonzoEraOnwardsAlonzo -> AlonzoEra
AlonzoEraOnwardsBabbage -> BabbageEra
AlonzoEraOnwardsConway -> ConwayEra
AlonzoEraOnwardsDijkstra -> DijkstraEra

instance Convert AlonzoEraOnwards CardanoEra where
convert = toCardanoEra
Expand All @@ -82,6 +85,7 @@ instance Convert AlonzoEraOnwards ShelleyBasedEra where
AlonzoEraOnwardsAlonzo -> ShelleyBasedEraAlonzo
AlonzoEraOnwardsBabbage -> ShelleyBasedEraBabbage
AlonzoEraOnwardsConway -> ShelleyBasedEraConway
AlonzoEraOnwardsDijkstra -> ShelleyBasedEraDijkstra

type AlonzoEraOnwardsConstraints era =
( C.HashAlgorithm L.HASH
Expand Down Expand Up @@ -127,6 +131,7 @@ alonzoEraOnwardsConstraints = \case
AlonzoEraOnwardsAlonzo -> id
AlonzoEraOnwardsBabbage -> id
AlonzoEraOnwardsConway -> id
AlonzoEraOnwardsDijkstra -> id

{-# DEPRECATED alonzoEraOnwardsToShelleyBasedEra "Use 'convert' instead." #-}
alonzoEraOnwardsToShelleyBasedEra :: AlonzoEraOnwards era -> ShelleyBasedEra era
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ import Data.Typeable (Typeable)
data BabbageEraOnwards era where
BabbageEraOnwardsBabbage :: BabbageEraOnwards BabbageEra
BabbageEraOnwardsConway :: BabbageEraOnwards ConwayEra
BabbageEraOnwardsDijkstra :: BabbageEraOnwards DijkstraEra

deriving instance Show (BabbageEraOnwards era)

Expand All @@ -65,11 +66,13 @@ instance Eon BabbageEraOnwards where
AlonzoEra -> no
BabbageEra -> yes BabbageEraOnwardsBabbage
ConwayEra -> yes BabbageEraOnwardsConway
DijkstraEra -> yes BabbageEraOnwardsDijkstra

instance ToCardanoEra BabbageEraOnwards where
toCardanoEra = \case
BabbageEraOnwardsBabbage -> BabbageEra
BabbageEraOnwardsConway -> ConwayEra
BabbageEraOnwardsDijkstra -> DijkstraEra

instance Convert BabbageEraOnwards CardanoEra where
convert = toCardanoEra
Expand All @@ -78,16 +81,19 @@ instance Convert BabbageEraOnwards ShelleyBasedEra where
convert = \case
BabbageEraOnwardsBabbage -> ShelleyBasedEraBabbage
BabbageEraOnwardsConway -> ShelleyBasedEraConway
BabbageEraOnwardsDijkstra -> ShelleyBasedEraDijkstra

instance Convert BabbageEraOnwards MaryEraOnwards where
convert = \case
BabbageEraOnwardsBabbage -> MaryEraOnwardsBabbage
BabbageEraOnwardsConway -> MaryEraOnwardsConway
BabbageEraOnwardsDijkstra -> MaryEraOnwardsDijkstra

instance Convert BabbageEraOnwards AlonzoEraOnwards where
convert = \case
BabbageEraOnwardsBabbage -> AlonzoEraOnwardsBabbage
BabbageEraOnwardsConway -> AlonzoEraOnwardsConway
BabbageEraOnwardsDijkstra -> AlonzoEraOnwardsDijkstra

type BabbageEraOnwardsConstraints era =
( C.HashAlgorithm L.HASH
Expand Down Expand Up @@ -131,6 +137,7 @@ babbageEraOnwardsConstraints
babbageEraOnwardsConstraints = \case
BabbageEraOnwardsBabbage -> id
BabbageEraOnwardsConway -> id
BabbageEraOnwardsDijkstra -> id

{-# DEPRECATED babbageEraOnwardsToShelleyBasedEra "Use 'convert' instead." #-}
babbageEraOnwardsToShelleyBasedEra :: BabbageEraOnwards era -> ShelleyBasedEra era
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ instance Eon ByronToAlonzoEra where
AlonzoEra -> yes ByronToAlonzoEraAlonzo
BabbageEra -> no
ConwayEra -> no
DijkstraEra -> no

instance ToCardanoEra ByronToAlonzoEra where
toCardanoEra = \case
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@ import Cardano.Ledger.Api qualified as L
import Cardano.Ledger.BaseTypes qualified as L
import Cardano.Ledger.Conway.Core qualified as L
import Cardano.Ledger.Conway.Governance qualified as L
import Cardano.Ledger.Conway.State qualified as L
import Cardano.Ledger.Conway.TxCert qualified as L
import Cardano.Ledger.Mary.Value qualified as L
import Cardano.Ledger.State qualified as L
import Cardano.Protocol.Crypto qualified as L
import Ouroboros.Consensus.Protocol.Abstract qualified as Consensus
import Ouroboros.Consensus.Protocol.Praos.Common qualified as Consensus
Expand All @@ -51,6 +51,7 @@ import Data.Typeable (Typeable)

data ConwayEraOnwards era where
ConwayEraOnwardsConway :: ConwayEraOnwards ConwayEra
ConwayEraOnwardsDijkstra :: ConwayEraOnwards DijkstraEra

deriving instance Show (ConwayEraOnwards era)

Expand All @@ -67,28 +68,34 @@ instance Eon ConwayEraOnwards where
AlonzoEra -> no
BabbageEra -> no
ConwayEra -> yes ConwayEraOnwardsConway
DijkstraEra -> yes ConwayEraOnwardsDijkstra

instance ToCardanoEra ConwayEraOnwards where
toCardanoEra = \case
ConwayEraOnwardsConway -> ConwayEra
ConwayEraOnwardsDijkstra -> DijkstraEra

instance Convert ConwayEraOnwards CardanoEra where
convert = toCardanoEra

instance Convert ConwayEraOnwards ShelleyBasedEra where
convert = \case
ConwayEraOnwardsConway -> ShelleyBasedEraConway
ConwayEraOnwardsDijkstra -> ShelleyBasedEraDijkstra

instance Convert ConwayEraOnwards AllegraEraOnwards where
convert = \case
ConwayEraOnwardsConway -> AllegraEraOnwardsConway
ConwayEraOnwardsDijkstra -> AllegraEraOnwardsDijkstra

instance Convert ConwayEraOnwards BabbageEraOnwards where
convert = \case
ConwayEraOnwardsConway -> BabbageEraOnwardsConway
ConwayEraOnwardsDijkstra -> BabbageEraOnwardsDijkstra

type ConwayEraOnwardsConstraints era =
( C.HashAlgorithm L.HASH
( L.ConwayEraCertState (ShelleyLedgerEra era)
, C.HashAlgorithm L.HASH
, C.Signable (L.VRF L.StandardCrypto) L.Seed
, Consensus.PraosProtocolSupportsNode (ConsensusProtocol era)
, Consensus.ShelleyBlock (ConsensusProtocol era) (ShelleyLedgerEra era) ~ ConsensusBlockForEra era
Expand Down Expand Up @@ -133,6 +140,7 @@ conwayEraOnwardsConstraints
-> a
conwayEraOnwardsConstraints = \case
ConwayEraOnwardsConway -> id
ConwayEraOnwardsDijkstra -> id

{-# DEPRECATED conwayEraOnwardsToShelleyBasedEra "Use 'convert' instead." #-}
conwayEraOnwardsToShelleyBasedEra :: ConwayEraOnwards era -> ShelleyBasedEra era
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ data MaryEraOnwards era where
MaryEraOnwardsAlonzo :: MaryEraOnwards AlonzoEra
MaryEraOnwardsBabbage :: MaryEraOnwards BabbageEra
MaryEraOnwardsConway :: MaryEraOnwards ConwayEra
MaryEraOnwardsDijkstra :: MaryEraOnwards DijkstraEra

deriving instance Show (MaryEraOnwards era)

Expand All @@ -62,13 +63,15 @@ instance Eon MaryEraOnwards where
AlonzoEra -> yes MaryEraOnwardsAlonzo
BabbageEra -> yes MaryEraOnwardsBabbage
ConwayEra -> yes MaryEraOnwardsConway
DijkstraEra -> yes MaryEraOnwardsDijkstra

instance ToCardanoEra MaryEraOnwards where
toCardanoEra = \case
MaryEraOnwardsMary -> MaryEra
MaryEraOnwardsAlonzo -> AlonzoEra
MaryEraOnwardsBabbage -> BabbageEra
MaryEraOnwardsConway -> ConwayEra
MaryEraOnwardsDijkstra -> DijkstraEra

instance Convert MaryEraOnwards CardanoEra where
convert = toCardanoEra
Expand All @@ -79,6 +82,7 @@ instance Convert MaryEraOnwards ShelleyBasedEra where
MaryEraOnwardsAlonzo -> ShelleyBasedEraAlonzo
MaryEraOnwardsBabbage -> ShelleyBasedEraBabbage
MaryEraOnwardsConway -> ShelleyBasedEraConway
MaryEraOnwardsDijkstra -> ShelleyBasedEraDijkstra

type MaryEraOnwardsConstraints era =
( C.HashAlgorithm L.HASH
Expand Down Expand Up @@ -117,6 +121,7 @@ maryEraOnwardsConstraints = \case
MaryEraOnwardsAlonzo -> id
MaryEraOnwardsBabbage -> id
MaryEraOnwardsConway -> id
MaryEraOnwardsDijkstra -> id

{-# DEPRECATED maryEraOnwardsToShelleyBasedEra "Use 'convert' instead." #-}
maryEraOnwardsToShelleyBasedEra :: MaryEraOnwards era -> ShelleyBasedEra era
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ instance Eon ShelleyEraOnly where
AlonzoEra -> no
BabbageEra -> no
ConwayEra -> no
DijkstraEra -> no

instance ToCardanoEra ShelleyEraOnly where
toCardanoEra = \case
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ instance Eon ShelleyToAllegraEra where
AlonzoEra -> no
BabbageEra -> no
ConwayEra -> no
DijkstraEra -> no

instance ToCardanoEra ShelleyToAllegraEra where
toCardanoEra = \case
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ instance Eon ShelleyToAlonzoEra where
AlonzoEra -> yes ShelleyToAlonzoEraAlonzo
BabbageEra -> no
ConwayEra -> no
DijkstraEra -> no

instance ToCardanoEra ShelleyToAlonzoEra where
toCardanoEra = \case
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ instance Eon ShelleyToBabbageEra where
AlonzoEra -> yes ShelleyToBabbageEraAlonzo
BabbageEra -> yes ShelleyToBabbageEraBabbage
ConwayEra -> no
DijkstraEra -> no

instance ToCardanoEra ShelleyToBabbageEra where
toCardanoEra = \case
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ instance Eon ShelleyToMaryEra where
AlonzoEra -> no
BabbageEra -> no
ConwayEra -> no
DijkstraEra -> no

instance ToCardanoEra ShelleyToMaryEra where
toCardanoEra = \case
Expand Down