{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE TypeApplications #-}
module Cardano.Ledger.Shelley.HardForks (
aggregatedRewards,
allowMIRTransfer,
bootstrapPhase,
validatePoolRewardAccountNetID,
forgoRewardPrefilter,
translateUpperBoundForPlutusScripts,
forgoPointerAddressResolution,
)
where
import Cardano.Ledger.BaseTypes (ProtVer (..), natVersion)
aggregatedRewards ::
ProtVer ->
Bool
aggregatedRewards :: ProtVer -> Bool
aggregatedRewards ProtVer
pv = ProtVer -> Version
pvMajor ProtVer
pv forall a. Ord a => a -> a -> Bool
> forall (v :: Natural).
(KnownNat v, MinVersion <= v, v <= MaxVersion) =>
Version
natVersion @2
allowMIRTransfer ::
ProtVer ->
Bool
allowMIRTransfer :: ProtVer -> Bool
allowMIRTransfer ProtVer
pv = ProtVer -> Version
pvMajor ProtVer
pv forall a. Ord a => a -> a -> Bool
> forall (v :: Natural).
(KnownNat v, MinVersion <= v, v <= MaxVersion) =>
Version
natVersion @4
validatePoolRewardAccountNetID ::
ProtVer ->
Bool
validatePoolRewardAccountNetID :: ProtVer -> Bool
validatePoolRewardAccountNetID ProtVer
pv = ProtVer -> Version
pvMajor ProtVer
pv forall a. Ord a => a -> a -> Bool
> forall (v :: Natural).
(KnownNat v, MinVersion <= v, v <= MaxVersion) =>
Version
natVersion @4
forgoRewardPrefilter ::
ProtVer ->
Bool
forgoRewardPrefilter :: ProtVer -> Bool
forgoRewardPrefilter ProtVer
pv = ProtVer -> Version
pvMajor ProtVer
pv forall a. Ord a => a -> a -> Bool
> forall (v :: Natural).
(KnownNat v, MinVersion <= v, v <= MaxVersion) =>
Version
natVersion @6
translateUpperBoundForPlutusScripts ::
ProtVer ->
Bool
translateUpperBoundForPlutusScripts :: ProtVer -> Bool
translateUpperBoundForPlutusScripts ProtVer
pv = ProtVer -> Version
pvMajor ProtVer
pv forall a. Ord a => a -> a -> Bool
> forall (v :: Natural).
(KnownNat v, MinVersion <= v, v <= MaxVersion) =>
Version
natVersion @8
forgoPointerAddressResolution ::
ProtVer ->
Bool
forgoPointerAddressResolution :: ProtVer -> Bool
forgoPointerAddressResolution ProtVer
pv = ProtVer -> Version
pvMajor ProtVer
pv forall a. Ord a => a -> a -> Bool
> forall (v :: Natural).
(KnownNat v, MinVersion <= v, v <= MaxVersion) =>
Version
natVersion @8
bootstrapPhase ::
ProtVer ->
Bool
bootstrapPhase :: ProtVer -> Bool
bootstrapPhase ProtVer
pv = ProtVer -> Version
pvMajor ProtVer
pv forall a. Eq a => a -> a -> Bool
== forall (v :: Natural).
(KnownNat v, MinVersion <= v, v <= MaxVersion) =>
Version
natVersion @9