Skip to content
3 changes: 3 additions & 0 deletions eras/allegra/impl/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

## 1.10.0.0

* Rename rule types and deprecate the old names:
- `AllegraUTXO` -> `UTXO`
- `AllegraUTXOW` -> `UTXOW`
* Change `Signal` to `StAnnTx TopTx era` for: `AllegraUTXOW`, `AllegraUTXO`
* Add `FromJSON` instance for `ValidityInterval`
* Add `ApplyTick` instance for `AllegraEra`
Expand Down
56 changes: 34 additions & 22 deletions eras/allegra/impl/src/Cardano/Ledger/Allegra/Era.hs
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@

module Cardano.Ledger.Allegra.Era (
AllegraEra,
UTXO,
UTXOW,

-- * Deprecated
AllegraUTXO,
AllegraUTXOW,
) where
Expand All @@ -38,48 +42,56 @@ type instance Value AllegraEra = Coin

-- These rules are all inherited from Shelley

type instance EraRule "BBODY" AllegraEra = Shelley.ShelleyBBODY AllegraEra
type instance EraRule "BBODY" AllegraEra = Shelley.BBODY AllegraEra

type instance EraRule "DELEG" AllegraEra = Shelley.ShelleyDELEG AllegraEra
type instance EraRule "DELEG" AllegraEra = Shelley.DELEG AllegraEra

type instance EraRule "DELEGS" AllegraEra = Shelley.ShelleyDELEGS AllegraEra
type instance EraRule "DELEGS" AllegraEra = Shelley.DELEGS AllegraEra

type instance EraRule "DELPL" AllegraEra = Shelley.ShelleyDELPL AllegraEra
type instance EraRule "DELPL" AllegraEra = Shelley.DELPL AllegraEra

type instance EraRule "EPOCH" AllegraEra = Shelley.ShelleyEPOCH AllegraEra
type instance EraRule "EPOCH" AllegraEra = Shelley.EPOCH AllegraEra

type instance EraRule "LEDGER" AllegraEra = Shelley.ShelleyLEDGER AllegraEra
type instance EraRule "LEDGER" AllegraEra = Shelley.LEDGER AllegraEra

type instance EraRule "LEDGERS" AllegraEra = Shelley.ShelleyLEDGERS AllegraEra
type instance EraRule "LEDGERS" AllegraEra = Shelley.LEDGERS AllegraEra

type instance EraRule "MIR" AllegraEra = Shelley.ShelleyMIR AllegraEra
type instance EraRule "MIR" AllegraEra = Shelley.MIR AllegraEra

type instance EraRule "NEWEPOCH" AllegraEra = Shelley.ShelleyNEWEPOCH AllegraEra
type instance EraRule "NEWEPOCH" AllegraEra = Shelley.NEWEPOCH AllegraEra

type instance EraRule "NEWPP" AllegraEra = Shelley.ShelleyNEWPP AllegraEra
type instance EraRule "NEWPP" AllegraEra = Shelley.NEWPP AllegraEra

type instance EraRule "POOL" AllegraEra = Shelley.ShelleyPOOL AllegraEra
type instance EraRule "POOL" AllegraEra = Shelley.POOL AllegraEra

type instance EraRule "POOLREAP" AllegraEra = Shelley.ShelleyPOOLREAP AllegraEra
type instance EraRule "POOLREAP" AllegraEra = Shelley.POOLREAP AllegraEra

type instance EraRule "PPUP" AllegraEra = Shelley.ShelleyPPUP AllegraEra
type instance EraRule "PPUP" AllegraEra = Shelley.PPUP AllegraEra

type instance EraRule "RUPD" AllegraEra = Shelley.ShelleyRUPD AllegraEra
type instance EraRule "RUPD" AllegraEra = Shelley.RUPD AllegraEra

type instance EraRule "SNAP" AllegraEra = Shelley.ShelleySNAP AllegraEra
type instance EraRule "SNAP" AllegraEra = Shelley.SNAP AllegraEra

type instance EraRule "TICK" AllegraEra = Shelley.ShelleyTICK AllegraEra
type instance EraRule "TICK" AllegraEra = Shelley.TICK AllegraEra

type instance EraRule "TICKF" AllegraEra = Shelley.ShelleyTICKF AllegraEra
type instance EraRule "TICKF" AllegraEra = Shelley.TICKF AllegraEra

type instance EraRule "UPEC" AllegraEra = Shelley.ShelleyUPEC AllegraEra
type instance EraRule "UPEC" AllegraEra = Shelley.UPEC AllegraEra

-- These rules are defined anew in the Allegra era

data AllegraUTXO era
data UTXO era

type AllegraUTXO = UTXO

{-# DEPRECATED AllegraUTXO "In favor of `UTXO`" #-}

type instance EraRule "UTXO" AllegraEra = UTXO AllegraEra

data UTXOW era

type instance EraRule "UTXO" AllegraEra = AllegraUTXO AllegraEra
type AllegraUTXOW = UTXOW

data AllegraUTXOW era
{-# DEPRECATED AllegraUTXOW "In favor of `UTXOW`" #-}

type instance EraRule "UTXOW" AllegraEra = AllegraUTXOW AllegraEra
type instance EraRule "UTXOW" AllegraEra = UTXOW AllegraEra
30 changes: 15 additions & 15 deletions eras/allegra/impl/src/Cardano/Ledger/Allegra/Rules/Utxo.hs
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@
{-# OPTIONS_GHC -Wno-orphans #-}

module Cardano.Ledger.Allegra.Rules.Utxo (
AllegraUTXO,
UTXO,
AllegraUtxoEvent (..),
AllegraUtxoPredFailure (..),
validateOutsideValidityIntervalUTxO,
shelleyToAllegraUtxoPredFailure,
) where

import Cardano.Ledger.Allegra.Core
import Cardano.Ledger.Allegra.Era (AllegraEra, AllegraUTXO)
import Cardano.Ledger.Allegra.Era (AllegraEra, UTXO)
import Cardano.Ledger.Allegra.Rules.Ppup ()
import Cardano.Ledger.Allegra.Scripts (inInterval)
import Cardano.Ledger.BaseTypes (
Expand Down Expand Up @@ -160,7 +160,7 @@ utxoTransition ::
, GovState era ~ ShelleyGovState era
, InjectRuleFailure "UTXO" AllegraUtxoPredFailure era
, InjectRuleFailure "UTXO" Shelley.ShelleyUtxoPredFailure era
, EraRule "UTXO" era ~ AllegraUTXO era
, EraRule "UTXO" era ~ UTXO era
, SafeToHash (TxWits era)
) =>
TransitionRule (EraRule "UTXO" era)
Expand Down Expand Up @@ -286,39 +286,39 @@ instance
, EraCertState era
, ShelleyEraTxBody era
, AllegraEraTxBody era
, Embed (EraRule "PPUP" era) (AllegraUTXO era)
, Embed (EraRule "PPUP" era) (UTXO era)
, Environment (EraRule "PPUP" era) ~ Shelley.PpupEnv era
, State (EraRule "PPUP" era) ~ ShelleyGovState era
, Signal (EraRule "PPUP" era) ~ StrictMaybe (Update era)
, AtMostEra "Babbage" era
, Eq (EraRuleFailure "PPUP" era)
, Show (EraRuleFailure "PPUP" era)
, EraRule "UTXO" era ~ AllegraUTXO era
, EraRule "UTXO" era ~ UTXO era
, GovState era ~ ShelleyGovState era
, InjectRuleFailure "UTXO" AllegraUtxoPredFailure era
, InjectRuleFailure "UTXO" Shelley.ShelleyUtxoPredFailure era
, SafeToHash (TxWits era)
) =>
STS (AllegraUTXO era)
STS (UTXO era)
where
type State (AllegraUTXO era) = Shelley.UTxOState era
type Signal (AllegraUTXO era) = StAnnTx TopTx era
type Environment (AllegraUTXO era) = Shelley.UtxoEnv era
type BaseM (AllegraUTXO era) = ShelleyBase
type PredicateFailure (AllegraUTXO era) = AllegraUtxoPredFailure era
type Event (AllegraUTXO era) = AllegraUtxoEvent era
type State (UTXO era) = Shelley.UTxOState era
type Signal (UTXO era) = StAnnTx TopTx era
type Environment (UTXO era) = Shelley.UtxoEnv era
type BaseM (UTXO era) = ShelleyBase
type PredicateFailure (UTXO era) = AllegraUtxoPredFailure era
type Event (UTXO era) = AllegraUtxoEvent era

initialRules = []
transitionRules = [utxoTransition]
assertions = [Shelley.validSizeComputationCheck]

instance
( Era era
, STS (Shelley.ShelleyPPUP era)
, STS (Shelley.PPUP era)
, EraRuleFailure "PPUP" era ~ Shelley.ShelleyPpupPredFailure era
, Event (EraRule "PPUP" era) ~ Event (Shelley.ShelleyPPUP era)
, Event (EraRule "PPUP" era) ~ Event (Shelley.PPUP era)
) =>
Embed (Shelley.ShelleyPPUP era) (AllegraUTXO era)
Embed (Shelley.PPUP era) (UTXO era)
where
wrapFailed = UpdateFailure
wrapEvent = UpdateEvent
Expand Down
36 changes: 18 additions & 18 deletions eras/allegra/impl/src/Cardano/Ledger/Allegra/Rules/Utxow.hs
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@
{-# LANGUAGE UndecidableInstances #-}
{-# OPTIONS_GHC -Wno-orphans #-}

module Cardano.Ledger.Allegra.Rules.Utxow (AllegraUTXOW) where
module Cardano.Ledger.Allegra.Rules.Utxow (UTXOW) where

import Cardano.Ledger.Allegra.Core
import Cardano.Ledger.Allegra.Era (AllegraEra, AllegraUTXOW)
import Cardano.Ledger.Allegra.Rules.Utxo (AllegraUTXO, AllegraUtxoPredFailure)
import Cardano.Ledger.Allegra.Era (AllegraEra, UTXOW)
import Cardano.Ledger.Allegra.Rules.Utxo (AllegraUtxoPredFailure, UTXO)
import Cardano.Ledger.BaseTypes
import Cardano.Ledger.Shelley.LedgerState (UTxOState)
import qualified Cardano.Ledger.Shelley.Rules as Shelley
Expand Down Expand Up @@ -47,22 +47,22 @@ instance
, ShelleyEraTxBody era
, ScriptsNeeded era ~ ShelleyScriptsNeeded era
, -- Allow UTXOW to call UTXO
Embed (EraRule "UTXO" era) (AllegraUTXOW era)
Embed (EraRule "UTXO" era) (UTXOW era)
, Environment (EraRule "UTXO" era) ~ Shelley.UtxoEnv era
, State (EraRule "UTXO" era) ~ UTxOState era
, Signal (EraRule "UTXO" era) ~ StAnnTx TopTx era
, EraRule "UTXOW" era ~ AllegraUTXOW era
, EraRule "UTXOW" era ~ UTXOW era
, InjectRuleFailure "UTXOW" Shelley.ShelleyUtxowPredFailure era
, EraCertState era
) =>
STS (AllegraUTXOW era)
STS (UTXOW era)
where
type State (AllegraUTXOW era) = UTxOState era
type Signal (AllegraUTXOW era) = StAnnTx TopTx era
type Environment (AllegraUTXOW era) = Shelley.UtxoEnv era
type BaseM (AllegraUTXOW era) = ShelleyBase
type PredicateFailure (AllegraUTXOW era) = Shelley.ShelleyUtxowPredFailure era
type Event (AllegraUTXOW era) = Shelley.ShelleyUtxowEvent era
type State (UTXOW era) = UTxOState era
type Signal (UTXOW era) = StAnnTx TopTx era
type Environment (UTXOW era) = Shelley.UtxoEnv era
type BaseM (UTXOW era) = ShelleyBase
type PredicateFailure (UTXOW era) = Shelley.ShelleyUtxowPredFailure era
type Event (UTXOW era) = Shelley.ShelleyUtxowEvent era

transitionRules = [Shelley.transitionRulesUTXOW]

Expand All @@ -72,22 +72,22 @@ instance

instance
( Era era
, STS (AllegraUTXO era)
, STS (UTXO era)
, PredicateFailure (EraRule "UTXO" era) ~ AllegraUtxoPredFailure era
, Event (EraRule "UTXO" era) ~ Event (AllegraUTXO era)
, Event (EraRule "UTXO" era) ~ Event (UTXO era)
) =>
Embed (AllegraUTXO era) (AllegraUTXOW era)
Embed (UTXO era) (UTXOW era)
where
wrapFailed = Shelley.UtxoFailure
wrapEvent = Shelley.UtxoEvent

instance
( Era era
, STS (AllegraUTXOW era)
, STS (UTXOW era)
, PredicateFailure (EraRule "UTXOW" era) ~ Shelley.ShelleyUtxowPredFailure era
, Event (EraRule "UTXOW" era) ~ Event (AllegraUTXOW era)
, Event (EraRule "UTXOW" era) ~ Event (UTXOW era)
) =>
Embed (AllegraUTXOW era) (Shelley.ShelleyLEDGER era)
Embed (UTXOW era) (Shelley.LEDGER era)
where
wrapFailed = Shelley.UtxowFailure
wrapEvent = Shelley.UtxowEvent
6 changes: 6 additions & 0 deletions eras/alonzo/impl/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@

## 1.16.0.0

* Rename rule types and deprecate the old names:
- `AlonzoBBODY` -> `BBODY`
- `AlonzoLEDGER` -> `LEDGER`
- `AlonzoUTXO` -> `UTXO`
- `AlonzoUTXOS` -> `UTXOS`
- `AlonzoUTXOW` -> `UTXOW`
* Replace `scriptsProvided` and `scriptsNeeded` in `mkScriptIntegrity` signature with `Set Language`
* Add `plutusLanguagesUsedStAnnTx` to `AlonzoEraUTxO` and a helper to implement it `plutusLanguagesUsedAlonzoStAnnTx`
* Add `plutusScriptsWithContextStAnnTx` to `AlonzoEraUTxO` and a helper to implement it `plutusScriptsWithContextAlonzoStAnnTx`
Expand Down
79 changes: 53 additions & 26 deletions eras/alonzo/impl/src/Cardano/Ledger/Alonzo/Era.hs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@

module Cardano.Ledger.Alonzo.Era (
AlonzoEra,
UTXO,
UTXOS,
UTXOW,
BBODY,
LEDGER,

-- * Deprecated
AlonzoUTXO,
AlonzoUTXOS,
AlonzoUTXOW,
Expand All @@ -34,56 +41,76 @@ type instance Value AlonzoEra = MaryValue

-- These rules are new or changed in Alonzo

data AlonzoUTXOS era
data UTXOS era

type AlonzoUTXOS = UTXOS

{-# DEPRECATED AlonzoUTXOS "In favor of `UTXOS`" #-}

type instance EraRule "UTXOS" AlonzoEra = UTXOS AlonzoEra

data UTXO era

type AlonzoUTXO = UTXO

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There should be no newline between deprecation pragma and the type

Suggested change

{-# DEPRECATED AlonzoUTXO "In favor of `UTXO`" #-}

type instance EraRule "UTXO" AlonzoEra = UTXO AlonzoEra

data UTXOW era

type AlonzoUTXOW = UTXOW

{-# DEPRECATED AlonzoUTXOW "In favor of `UTXOW`" #-}

type instance EraRule "UTXOS" AlonzoEra = AlonzoUTXOS AlonzoEra
type instance EraRule "UTXOW" AlonzoEra = UTXOW AlonzoEra

data AlonzoUTXO era
data LEDGER era

type instance EraRule "UTXO" AlonzoEra = AlonzoUTXO AlonzoEra
type AlonzoLEDGER = LEDGER

data AlonzoUTXOW era
{-# DEPRECATED AlonzoLEDGER "In favor of `LEDGER`" #-}

type instance EraRule "UTXOW" AlonzoEra = AlonzoUTXOW AlonzoEra
type instance EraRule "LEDGER" AlonzoEra = LEDGER AlonzoEra

data AlonzoLEDGER era
data BBODY era

type instance EraRule "LEDGER" AlonzoEra = AlonzoLEDGER AlonzoEra
type AlonzoBBODY = BBODY

data AlonzoBBODY era
{-# DEPRECATED AlonzoBBODY "In favor of `BBODY`" #-}

type instance EraRule "BBODY" AlonzoEra = AlonzoBBODY AlonzoEra
type instance EraRule "BBODY" AlonzoEra = BBODY AlonzoEra

-- Rules inherited from Shelley

type instance EraRule "DELEG" AlonzoEra = Shelley.ShelleyDELEG AlonzoEra
type instance EraRule "DELEG" AlonzoEra = Shelley.DELEG AlonzoEra

type instance EraRule "DELEGS" AlonzoEra = Shelley.ShelleyDELEGS AlonzoEra
type instance EraRule "DELEGS" AlonzoEra = Shelley.DELEGS AlonzoEra

type instance EraRule "DELPL" AlonzoEra = Shelley.ShelleyDELPL AlonzoEra
type instance EraRule "DELPL" AlonzoEra = Shelley.DELPL AlonzoEra

type instance EraRule "EPOCH" AlonzoEra = Shelley.ShelleyEPOCH AlonzoEra
type instance EraRule "EPOCH" AlonzoEra = Shelley.EPOCH AlonzoEra

type instance EraRule "LEDGERS" AlonzoEra = Shelley.ShelleyLEDGERS AlonzoEra
type instance EraRule "LEDGERS" AlonzoEra = Shelley.LEDGERS AlonzoEra

type instance EraRule "MIR" AlonzoEra = Shelley.ShelleyMIR AlonzoEra
type instance EraRule "MIR" AlonzoEra = Shelley.MIR AlonzoEra

type instance EraRule "NEWEPOCH" AlonzoEra = Shelley.ShelleyNEWEPOCH AlonzoEra
type instance EraRule "NEWEPOCH" AlonzoEra = Shelley.NEWEPOCH AlonzoEra

type instance EraRule "NEWPP" AlonzoEra = Shelley.ShelleyNEWPP AlonzoEra
type instance EraRule "NEWPP" AlonzoEra = Shelley.NEWPP AlonzoEra

type instance EraRule "POOL" AlonzoEra = Shelley.ShelleyPOOL AlonzoEra
type instance EraRule "POOL" AlonzoEra = Shelley.POOL AlonzoEra

type instance EraRule "POOLREAP" AlonzoEra = Shelley.ShelleyPOOLREAP AlonzoEra
type instance EraRule "POOLREAP" AlonzoEra = Shelley.POOLREAP AlonzoEra

type instance EraRule "PPUP" AlonzoEra = Shelley.ShelleyPPUP AlonzoEra
type instance EraRule "PPUP" AlonzoEra = Shelley.PPUP AlonzoEra

type instance EraRule "RUPD" AlonzoEra = Shelley.ShelleyRUPD AlonzoEra
type instance EraRule "RUPD" AlonzoEra = Shelley.RUPD AlonzoEra

type instance EraRule "SNAP" AlonzoEra = Shelley.ShelleySNAP AlonzoEra
type instance EraRule "SNAP" AlonzoEra = Shelley.SNAP AlonzoEra

type instance EraRule "TICK" AlonzoEra = Shelley.ShelleyTICK AlonzoEra
type instance EraRule "TICK" AlonzoEra = Shelley.TICK AlonzoEra

type instance EraRule "TICKF" AlonzoEra = Shelley.ShelleyTICKF AlonzoEra
type instance EraRule "TICKF" AlonzoEra = Shelley.TICKF AlonzoEra

type instance EraRule "UPEC" AlonzoEra = Shelley.ShelleyUPEC AlonzoEra
type instance EraRule "UPEC" AlonzoEra = Shelley.UPEC AlonzoEra
Loading