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
1 change: 0 additions & 1 deletion eras/dijkstra/impl/cardano-ledger-dijkstra.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@ library
Cardano.Ledger.Dijkstra.Rules.SubLedgers
Cardano.Ledger.Dijkstra.Rules.SubPool
Cardano.Ledger.Dijkstra.Rules.SubUtxo
Cardano.Ledger.Dijkstra.Rules.SubUtxos
Cardano.Ledger.Dijkstra.Rules.SubUtxow
Cardano.Ledger.Dijkstra.Rules.Utxo
Cardano.Ledger.Dijkstra.Rules.Utxos
Expand Down
5 changes: 0 additions & 5 deletions eras/dijkstra/impl/src/Cardano/Ledger/Dijkstra/Era.hs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ module Cardano.Ledger.Dijkstra.Era (
DijkstraSUBLEDGER,
DijkstraSUBLEDGERS,
DijkstraSUBPOOL,
DijkstraSUBUTXOS,
DijkstraSUBUTXOW,
DijkstraSUBUTXO,
DijkstraUTXO,
Expand Down Expand Up @@ -115,10 +114,6 @@ data DijkstraSUBUTXO era

type instance EraRule "SUBUTXO" DijkstraEra = DijkstraSUBUTXO DijkstraEra

data DijkstraSUBUTXOS era

type instance EraRule "SUBUTXOS" DijkstraEra = DijkstraSUBUTXOS DijkstraEra

data DijkstraSUBUTXOW era

type instance EraRule "SUBUTXOW" DijkstraEra = DijkstraSUBUTXOW DijkstraEra
Expand Down
2 changes: 0 additions & 2 deletions eras/dijkstra/impl/src/Cardano/Ledger/Dijkstra/Rules.hs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ module Cardano.Ledger.Dijkstra.Rules (
module Cardano.Ledger.Dijkstra.Rules.SubLedgers,
module Cardano.Ledger.Dijkstra.Rules.SubPool,
module Cardano.Ledger.Dijkstra.Rules.SubUtxo,
module Cardano.Ledger.Dijkstra.Rules.SubUtxos,
module Cardano.Ledger.Dijkstra.Rules.SubUtxow,
module Cardano.Ledger.Dijkstra.Rules.Utxo,
module Cardano.Ledger.Dijkstra.Rules.Utxow,
Expand Down Expand Up @@ -52,7 +51,6 @@ import Cardano.Ledger.Dijkstra.Rules.SubLedger
import Cardano.Ledger.Dijkstra.Rules.SubLedgers
import Cardano.Ledger.Dijkstra.Rules.SubPool
import Cardano.Ledger.Dijkstra.Rules.SubUtxo
import Cardano.Ledger.Dijkstra.Rules.SubUtxos
import Cardano.Ledger.Dijkstra.Rules.SubUtxow
import Cardano.Ledger.Dijkstra.Rules.Utxo
import Cardano.Ledger.Dijkstra.Rules.Utxos ()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,6 @@ import Cardano.Ledger.Dijkstra.Era (
DijkstraSUBGOV,
DijkstraSUBGOVCERT,
DijkstraSUBUTXO,
DijkstraSUBUTXOS,
DijkstraSUBUTXOW,
DijkstraUTXOW,
)
Expand Down Expand Up @@ -469,7 +468,6 @@ instance
, EraRule "SUBLEDGER" era ~ DijkstraSUBLEDGER era
, EraRule "SUBGOV" era ~ DijkstraSUBGOV era
, EraRule "SUBUTXO" era ~ DijkstraSUBUTXO era
, EraRule "SUBUTXOS" era ~ DijkstraSUBUTXOS era
, EraRule "SUBUTXOW" era ~ DijkstraSUBUTXOW era
, EraRule "SUBCERTS" era ~ DijkstraSUBCERTS era
, EraRule "SUBCERT" era ~ DijkstraSUBCERT era
Expand Down Expand Up @@ -582,7 +580,6 @@ instance
, EraRule "SUBLEDGER" era ~ DijkstraSUBLEDGER era
, EraRule "SUBGOV" era ~ DijkstraSUBGOV era
, EraRule "SUBUTXO" era ~ DijkstraSUBUTXO era
, EraRule "SUBUTXOS" era ~ DijkstraSUBUTXOS era
, EraRule "SUBUTXOW" era ~ DijkstraSUBUTXOW era
, EraRule "SUBCERTS" era ~ DijkstraSUBCERTS era
, EraRule "SUBCERT" era ~ DijkstraSUBCERT era
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ import Cardano.Ledger.Dijkstra.Era (
DijkstraSUBLEDGERS,
DijkstraSUBPOOL,
DijkstraSUBUTXO,
DijkstraSUBUTXOS,
DijkstraSUBUTXOW,
)
import Cardano.Ledger.Dijkstra.Rules.Ledger (
Expand Down Expand Up @@ -257,7 +256,6 @@ instance
, EraRule "SUBLEDGER" era ~ DijkstraSUBLEDGER era
, EraRule "SUBGOV" era ~ DijkstraSUBGOV era
, EraRule "SUBUTXO" era ~ DijkstraSUBUTXO era
, EraRule "SUBUTXOS" era ~ DijkstraSUBUTXOS era
, EraRule "SUBUTXOW" era ~ DijkstraSUBUTXOW era
, EraRule "SUBCERTS" era ~ DijkstraSUBCERTS era
, EraRule "SUBCERT" era ~ DijkstraSUBCERT era
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ import Cardano.Ledger.Dijkstra.Era (
DijkstraSUBLEDGER,
DijkstraSUBPOOL,
DijkstraSUBUTXO,
DijkstraSUBUTXOS,
DijkstraSUBUTXOW,
)
import Cardano.Ledger.Dijkstra.Rules.SubCerts (DijkstraSubCertsPredFailure (..), SubCertsEnv (..))
Expand Down Expand Up @@ -180,7 +179,6 @@ instance
, EraRule "SUBGOV" era ~ DijkstraSUBGOV era
, EraRule "SUBUTXO" era ~ DijkstraSUBUTXO era
, EraRule "SUBUTXOW" era ~ DijkstraSUBUTXOW era
, EraRule "SUBUTXOS" era ~ DijkstraSUBUTXOS era
, EraRule "SUBCERTS" era ~ DijkstraSUBCERTS era
, EraRule "SUBCERT" era ~ DijkstraSUBCERT era
, EraRule "SUBDELEG" era ~ DijkstraSUBDELEG era
Expand Down Expand Up @@ -316,7 +314,6 @@ instance
, EraPlutusContext era
, EraRule "SUBUTXO" era ~ DijkstraSUBUTXO era
, EraRule "SUBUTXOW" era ~ DijkstraSUBUTXOW era
, EraRule "SUBUTXOS" era ~ DijkstraSUBUTXOS era
) =>
Embed (DijkstraSUBUTXOW era) (DijkstraSUBLEDGER era)
where
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ import Cardano.Ledger.Dijkstra.Era (
DijkstraSUBLEDGERS,
DijkstraSUBPOOL,
DijkstraSUBUTXO,
DijkstraSUBUTXOS,
DijkstraSUBUTXOW,
)
import Cardano.Ledger.Dijkstra.Rules.SubDeleg (DijkstraSubDelegPredFailure)
Expand Down Expand Up @@ -167,7 +166,6 @@ instance
, EraRule "SUBLEDGER" era ~ DijkstraSUBLEDGER era
, EraRule "SUBGOV" era ~ DijkstraSUBGOV era
, EraRule "SUBUTXO" era ~ DijkstraSUBUTXO era
, EraRule "SUBUTXOS" era ~ DijkstraSUBUTXOS era
, EraRule "SUBUTXOW" era ~ DijkstraSUBUTXOW era
, EraRule "SUBCERTS" era ~ DijkstraSUBCERTS era
, EraRule "SUBCERT" era ~ DijkstraSUBCERT era
Expand Down
102 changes: 39 additions & 63 deletions eras/dijkstra/impl/src/Cardano/Ledger/Dijkstra/Rules/SubUtxo.hs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ module Cardano.Ledger.Dijkstra.Rules.SubUtxo (
DijkstraSubUtxoEvent (..),
) where

import Cardano.Ledger.Alonzo.Plutus.Context (EraPlutusContext)
import Cardano.Ledger.BaseTypes
import Cardano.Ledger.Binary (
DecCBOR (..),
Expand All @@ -34,10 +33,8 @@ import Cardano.Ledger.Conway.Governance
import Cardano.Ledger.Dijkstra.Era (
DijkstraEra,
DijkstraSUBUTXO,
DijkstraSUBUTXOS,
)
import Cardano.Ledger.Dijkstra.Rules.SubUtxos (DijkstraSubUtxosPredFailure)
import Cardano.Ledger.Shelley.LedgerState (UTxOState)
import Cardano.Ledger.Shelley.LedgerState (UTxO, UTxOState)
import Cardano.Ledger.Shelley.Rules (UtxoEnv)
import Cardano.Ledger.TxIn (TxIn)
import Control.DeepSeq (NFData)
Expand All @@ -49,8 +46,7 @@ import GHC.Generics (Generic)
import NoThunks.Class (InspectHeapNamed (..), NoThunks (..))

data DijkstraSubUtxoPredFailure era
= SubUtxosFailure (PredicateFailure (EraRule "SUBUTXOS" era))
| -- | The bad transaction inputs
= -- | The bad transaction inputs
SubBadInputsUTxO (NonEmptySet TxIn)
| SubOutsideValidityIntervalUTxO
-- | transaction's validity interval
Expand Down Expand Up @@ -89,7 +85,6 @@ data DijkstraSubUtxoPredFailure era
deriving stock instance
( Era era
, Eq (Value era)
, Eq (PredicateFailure (EraRule "SUBUTXOS" era))
, Eq (TxOut era)
, Eq (Script era)
, Eq TxIn
Expand All @@ -99,7 +94,6 @@ deriving stock instance
deriving stock instance
( Era era
, Show (Value era)
, Show (PredicateFailure (EraRule "SUBUTXOS" era))
, Show (TxOut era)
, Show (Script era)
, Show TxIn
Expand All @@ -115,7 +109,6 @@ instance
( Era era
, NFData (Value era)
, NFData (TxOut era)
, NFData (PredicateFailure (EraRule "SUBUTXOS" era))
) =>
NFData (DijkstraSubUtxoPredFailure era)

Expand All @@ -125,23 +118,25 @@ type instance EraRuleEvent "SUBUTXO" DijkstraEra = DijkstraSubUtxoEvent Dijkstra

instance InjectRuleFailure "SUBUTXO" DijkstraSubUtxoPredFailure DijkstraEra

instance InjectRuleFailure "SUBUTXO" DijkstraSubUtxosPredFailure DijkstraEra where
injectFailure = SubUtxosFailure

instance InjectRuleEvent "SUBUTXO" DijkstraSubUtxoEvent DijkstraEra

newtype DijkstraSubUtxoEvent era = SubUtxosEvent (Event (EraRule "SUBUTXOS" era))
data DijkstraSubUtxoEvent era
= TotalDeposits (SafeHash EraIndependentTxBody) Coin
| -- | The UTxOs consumed and created by a signal tx
TxUTxODiff
-- | UTxO consumed
(UTxO era)
-- | UTxO created
(UTxO era)
deriving (Generic)

deriving instance Eq (Event (EraRule "SUBUTXOS" era)) => Eq (DijkstraSubUtxoEvent era)
deriving instance (Era era, Eq (TxOut era)) => Eq (DijkstraSubUtxoEvent era)

instance NFData (Event (EraRule "SUBUTXOS" era)) => NFData (DijkstraSubUtxoEvent era)
instance (Era era, NFData (TxOut era)) => NFData (DijkstraSubUtxoEvent era)

instance
( ConwayEraGov era
, EraRule "SUBUTXO" era ~ DijkstraSUBUTXO era
, EraRule "SUBUTXOS" era ~ DijkstraSUBUTXOS era
, Embed (EraRule "SUBUTXOS" era) (DijkstraSUBUTXO era)
, BabbageEraTxBody era
) =>
STS (DijkstraSUBUTXO era)
Expand All @@ -157,71 +152,52 @@ instance

dijkstraSubUtxoTransition ::
forall era.
( EraRule "SUBUTXO" era ~ DijkstraSUBUTXO era
, EraRule "SUBUTXOS" era ~ DijkstraSUBUTXOS era
, Embed (EraRule "SUBUTXOS" era) (DijkstraSUBUTXO era)
) =>
EraRule "SUBUTXO" era ~ DijkstraSUBUTXO era =>
TransitionRule (EraRule "SUBUTXO" era)
dijkstraSubUtxoTransition = do
TRC (env, state, signal) <- judgmentContext
trans @(EraRule "SUBUTXOS" era) $
TRC (env, state, signal)

instance
( ConwayEraGov era
, ConwayEraTxBody era
, EraPlutusContext era
, EraRule "SUBUTXOS" era ~ DijkstraSUBUTXOS era
) =>
Embed (DijkstraSUBUTXOS era) (DijkstraSUBUTXO era)
where
wrapFailed = SubUtxosFailure
wrapEvent = SubUtxosEvent
TRC (_, state, _) <- judgmentContext
pure state

instance
( Era era
, EncCBOR (TxOut era)
, EncCBOR (PredicateFailure (EraRule "SUBUTXOS" era))
) =>
EncCBOR (DijkstraSubUtxoPredFailure era)
where
encCBOR =
encode . \case
SubUtxosFailure a -> Sum (SubUtxosFailure @era) 0 !> To a
SubBadInputsUTxO ins -> Sum (SubBadInputsUTxO @era) 1 !> To ins
SubOutsideValidityIntervalUTxO a b -> Sum SubOutsideValidityIntervalUTxO 2 !> To a !> To b
SubMaxTxSizeUTxO mm -> Sum SubMaxTxSizeUTxO 3 !> To mm
SubInputSetEmptyUTxO -> Sum SubInputSetEmptyUTxO 4
SubWrongNetwork right wrongs -> Sum (SubWrongNetwork @era) 5 !> To right !> To wrongs
SubWrongNetworkWithdrawal right wrongs -> Sum (SubWrongNetworkWithdrawal @era) 6 !> To right !> To wrongs
SubOutputTooSmallUTxO outs -> Sum (SubOutputTooSmallUTxO @era) 7 !> To outs
SubOutputBootAddrAttrsTooBig outs -> Sum (SubOutputBootAddrAttrsTooBig @era) 8 !> To outs
SubOutputTooBigUTxO outs -> Sum (SubOutputTooBigUTxO @era) 9 !> To outs
SubWrongNetworkInTxBody mm -> Sum SubWrongNetworkInTxBody 10 !> To mm
SubOutsideForecast a -> Sum SubOutsideForecast 11 !> To a
SubBabbageOutputTooSmallUTxO x -> Sum SubBabbageOutputTooSmallUTxO 12 !> To x
SubBadInputsUTxO ins -> Sum (SubBadInputsUTxO @era) 0 !> To ins
SubOutsideValidityIntervalUTxO a b -> Sum SubOutsideValidityIntervalUTxO 1 !> To a !> To b
SubMaxTxSizeUTxO mm -> Sum SubMaxTxSizeUTxO 2 !> To mm
SubInputSetEmptyUTxO -> Sum SubInputSetEmptyUTxO 3
SubWrongNetwork right wrongs -> Sum (SubWrongNetwork @era) 4 !> To right !> To wrongs
SubWrongNetworkWithdrawal right wrongs -> Sum (SubWrongNetworkWithdrawal @era) 5 !> To right !> To wrongs
SubOutputTooSmallUTxO outs -> Sum (SubOutputTooSmallUTxO @era) 6 !> To outs
SubOutputBootAddrAttrsTooBig outs -> Sum (SubOutputBootAddrAttrsTooBig @era) 7 !> To outs
SubOutputTooBigUTxO outs -> Sum (SubOutputTooBigUTxO @era) 8 !> To outs
SubWrongNetworkInTxBody mm -> Sum SubWrongNetworkInTxBody 9 !> To mm
SubOutsideForecast a -> Sum SubOutsideForecast 10 !> To a
SubBabbageOutputTooSmallUTxO x -> Sum SubBabbageOutputTooSmallUTxO 11 !> To x

instance
( Era era
, DecCBOR (TxOut era)
, EncCBOR (Value era)
, DecCBOR (Value era)
, DecCBOR (PredicateFailure (EraRule "SUBUTXOS" era))
) =>
DecCBOR (DijkstraSubUtxoPredFailure era)
where
decCBOR = decode . Summands "DijkstraSubUtxoPredFailure" $ \case
0 -> SumD SubUtxosFailure <! From
1 -> SumD SubBadInputsUTxO <! From
2 -> SumD SubOutsideValidityIntervalUTxO <! From <! From
3 -> SumD SubMaxTxSizeUTxO <! From
4 -> SumD SubInputSetEmptyUTxO
5 -> SumD SubWrongNetwork <! From <! From
6 -> SumD SubWrongNetworkWithdrawal <! From <! From
7 -> SumD SubOutputTooSmallUTxO <! From
8 -> SumD SubOutputBootAddrAttrsTooBig <! From
9 -> SumD SubOutputTooBigUTxO <! From
10 -> SumD SubWrongNetworkInTxBody <! From
11 -> SumD SubOutsideForecast <! From
12 -> SumD SubBabbageOutputTooSmallUTxO <! From
0 -> SumD SubBadInputsUTxO <! From
1 -> SumD SubOutsideValidityIntervalUTxO <! From <! From
2 -> SumD SubMaxTxSizeUTxO <! From
3 -> SumD SubInputSetEmptyUTxO
4 -> SumD SubWrongNetwork <! From <! From
5 -> SumD SubWrongNetworkWithdrawal <! From <! From
6 -> SumD SubOutputTooSmallUTxO <! From
7 -> SumD SubOutputBootAddrAttrsTooBig <! From
8 -> SumD SubOutputTooBigUTxO <! From
9 -> SumD SubWrongNetworkInTxBody <! From
10 -> SumD SubOutsideForecast <! From
11 -> SumD SubBabbageOutputTooSmallUTxO <! From
n -> Invalid n
Loading
Loading