ouroboros-consensus-cardano-0.12.1.0: The instantation of the Ouroboros consensus layer used by Cardano
Safe HaskellSafe-Inferred
LanguageHaskell2010

Ouroboros.Consensus.Shelley.Eras

Synopsis

Eras based on the Shelley ledger

data AllegraEra c #

Instances

Instances details
Crypto c => Era (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

Associated Types

type EraCrypto (AllegraEra c) #

type PreviousEra (AllegraEra c) = (r :: Type)

type ProtVerLow (AllegraEra c) :: Nat

type ProtVerHigh (AllegraEra c) :: Nat

Methods

eraName :: String

Crypto c => GetLedgerView (AllegraEra c) 
Instance details

Defined in Cardano.Protocol.TPraos.API

Methods

currentLedgerView :: NewEpochState (AllegraEra c) -> LedgerView (EraCrypto (AllegraEra c))

futureLedgerView :: MonadError (FutureLedgerViewError (AllegraEra c)) m => Globals -> NewEpochState (AllegraEra c) -> SlotNo -> m (LedgerView (EraCrypto (AllegraEra c)))

CardanoHardForkConstraints c => CanHardFork (CardanoEras c) 
Instance details

Defined in Ouroboros.Consensus.Cardano.CanHardFork

Methods

hardForkEraTranslation :: EraTranslation (CardanoEras c)

hardForkChainSel :: Tails AcrossEraSelection (CardanoEras c)

hardForkInjectTxs :: InPairs (RequiringBoth WrapLedgerConfig (Product2 InjectTx InjectValidatedTx)) (CardanoEras c)

CardanoHardForkConstraints c => CondenseConstraints (CardanoBlock c) 
Instance details

Defined in Ouroboros.Consensus.Cardano.Condense

CardanoHardForkConstraints c => SerialiseHFC (CardanoEras c)

Important: we need to maintain binary compatibility with Byron blocks, as they are already stored on disk.

We also want to be able to efficiently detect (without having to peek far ahead) whether we're dealing with a Byron or Shelley block, so that we can invoke the right decoder. We plan to have a few more hard forks after Shelley (Goguen, Basho, Voltaire), so we want a future-proof envelope for distinguishing the different block types, i.e., a byte indicating the era.

Byron does not provide such an envelope. However, a Byron block is a CBOR 2-tuple with the first element being a tag (Word: 0 = EBB; 1 = regular block) and the second being the payload. We can easily extend this encoding format with support for Shelley, Goguen, etc.

We encode a CardanoBlock as the same CBOR 2-tuple as a Byron block, but we use the tags after 1 for the hard forks after Byron:

  1. Byron EBB
  2. Byron regular block
  3. Shelley block
  4. Allegra block
  5. Mary block
  6. Goguen block
  7. etc.

For more details, see: https://github.com/input-output-hk/ouroboros-network/pull/1175#issuecomment-558147194

Instance details

Defined in Ouroboros.Consensus.Cardano.Node

Methods

encodeDiskHfcBlock :: CodecConfig (HardForkBlock (CardanoEras c)) -> HardForkBlock (CardanoEras c) -> Encoding

decodeDiskHfcBlock :: CodecConfig (HardForkBlock (CardanoEras c)) -> forall s. Decoder s (ByteString -> HardForkBlock (CardanoEras c))

reconstructHfcPrefixLen :: proxy (Header (HardForkBlock (CardanoEras c))) -> PrefixLen

reconstructHfcNestedCtxt :: proxy (Header (HardForkBlock (CardanoEras c))) -> ShortByteString -> SizeInBytes -> SomeSecond (NestedCtxt Header) (HardForkBlock (CardanoEras c))

getHfcBinaryBlockInfo :: HardForkBlock (CardanoEras c) -> BinaryBlockInfo

estimateHfcBlockSize :: Header (HardForkBlock (CardanoEras c)) -> SizeInBytes

CardanoHardForkConstraints c => SupportedNetworkProtocolVersion (CardanoBlock c) 
Instance details

Defined in Ouroboros.Consensus.Cardano.Node

Methods

supportedNodeToNodeVersions :: Proxy (CardanoBlock c) -> Map NodeToNodeVersion (BlockNodeToNodeVersion (CardanoBlock c))

supportedNodeToClientVersions :: Proxy (CardanoBlock c) -> Map NodeToClientVersion (BlockNodeToClientVersion (CardanoBlock c))

latestReleasedNodeVersion :: Proxy (CardanoBlock c) -> (Maybe NodeToNodeVersion, Maybe NodeToClientVersion)

(PraosCrypto c, DSignable c (Hash c EraIndependentTxBody)) => ShelleyBasedEra (AllegraEra c) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

Methods

shelleyBasedEraName :: proxy (AllegraEra c) -> Text Source #

applyShelleyBasedTx :: Globals -> LedgerEnv (AllegraEra c) -> LedgerState (AllegraEra c) -> WhetherToIntervene -> Tx (AllegraEra c) -> Except (ApplyTxError (AllegraEra c)) (LedgerState (AllegraEra c), Validated (Tx (AllegraEra c))) Source #

getProposedProtocolVersion :: PParamsUpdate (AllegraEra c) -> Maybe ProtVer Source #

ShelleyBasedEra (AllegraEra c) => TranslateEra (AllegraEra c) WrapTx 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

Associated Types

type TranslationError (AllegraEra c) WrapTx

Methods

translateEra :: TranslationContext (AllegraEra c) -> WrapTx (PreviousEra (AllegraEra c)) -> Except (TranslationError (AllegraEra c) WrapTx) (WrapTx (AllegraEra c))

(PraosCrypto c, Signable (DSIGN c) (Hash (HASH c) EraIndependentTxBody)) => ShelleyCompatible (TPraos c) (AllegraEra c) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.HFEras

ShelleyCompatible p (AllegraEra c) => TxLimits (ShelleyBlock p (AllegraEra c)) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Associated Types

type TxMeasure (ShelleyBlock p (AllegraEra c))

type EraRule "BBODY" (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type EraRule "BBODY" (AllegraEra c) = ShelleyBBODY (AllegraEra c)
type EraRule "DELEG" (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type EraRule "DELEG" (AllegraEra c) = ShelleyDELEG (AllegraEra c)
type EraRule "DELEGS" (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type EraRule "DELEGS" (AllegraEra c) = ShelleyDELEGS (AllegraEra c)
type EraRule "DELPL" (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type EraRule "DELPL" (AllegraEra c) = ShelleyDELPL (AllegraEra c)
type EraRule "EPOCH" (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type EraRule "EPOCH" (AllegraEra c) = ShelleyEPOCH (AllegraEra c)
type EraRule "LEDGER" (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type EraRule "LEDGER" (AllegraEra c) = ShelleyLEDGER (AllegraEra c)
type EraRule "LEDGERS" (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type EraRule "LEDGERS" (AllegraEra c) = ShelleyLEDGERS (AllegraEra c)
type EraRule "MIR" (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type EraRule "MIR" (AllegraEra c) = ShelleyMIR (AllegraEra c)
type EraRule "NEWEPOCH" (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type EraRule "NEWEPOCH" (AllegraEra c) = ShelleyNEWEPOCH (AllegraEra c)
type EraRule "NEWPP" (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type EraRule "NEWPP" (AllegraEra c) = ShelleyNEWPP (AllegraEra c)
type EraRule "POOL" (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type EraRule "POOL" (AllegraEra c) = ShelleyPOOL (AllegraEra c)
type EraRule "POOLREAP" (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type EraRule "POOLREAP" (AllegraEra c) = ShelleyPOOLREAP (AllegraEra c)
type EraRule "PPUP" (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type EraRule "PPUP" (AllegraEra c) = ShelleyPPUP (AllegraEra c)
type EraRule "RUPD" (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type EraRule "RUPD" (AllegraEra c) = ShelleyRUPD (AllegraEra c)
type EraRule "SNAP" (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type EraRule "SNAP" (AllegraEra c) = ShelleySNAP (AllegraEra c)
type EraRule "TICK" (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type EraRule "TICK" (AllegraEra c) = ShelleyTICK (AllegraEra c)
type EraRule "TICKF" (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type EraRule "TICKF" (AllegraEra c) = ShelleyTICKF (AllegraEra c)
type EraRule "UPEC" (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type EraRule "UPEC" (AllegraEra c) = ShelleyUPEC (AllegraEra c)
type EraRule "UTXO" (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type EraRule "UTXO" (AllegraEra c) = AllegraUTXO (AllegraEra c)
type EraRule "UTXOW" (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type EraRule "UTXOW" (AllegraEra c) = AllegraUTXOW (AllegraEra c)
type DowngradePParams f (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.PParams

type DowngradePParams f (AllegraEra c) = ()
type PParamsHKD f (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.PParams

type PParamsHKD f (AllegraEra c) = ShelleyPParams f (AllegraEra c)
type UpgradePParams f (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.PParams

type UpgradePParams f (AllegraEra c) = ()
type NativeScript (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Scripts

type NativeScript (AllegraEra c) = Timelock (AllegraEra c)
type Script (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Scripts

type Script (AllegraEra c) = Timelock (AllegraEra c)
type Tx (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Tx

type Tx (AllegraEra c) = ShelleyTx (AllegraEra c)
type TxAuxData (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.TxAuxData

type TxAuxData (AllegraEra c) = AllegraTxAuxData (AllegraEra c)
type TxBody (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.TxBody

type TxBody (AllegraEra c) = AllegraTxBody (AllegraEra c)
type TxBodyUpgradeError (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.TxBody

type TxBodyUpgradeError (AllegraEra c) = Void
type TxOut (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.TxOut

type TxOut (AllegraEra c) = ShelleyTxOut (AllegraEra c)
type TxSeq (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.TxSeq

type TxSeq (AllegraEra c) = ShelleyTxSeq (AllegraEra c)
type TxUpgradeError (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Tx

type TxUpgradeError (AllegraEra c) = Void
type TxWits (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.TxWits

type TxWits (AllegraEra c) = ShelleyTxWits (AllegraEra c)
type Value (AllegraEra _1) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type Value (AllegraEra _1) = Coin
type EraCrypto (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type EraCrypto (AllegraEra c) = c
type PreviousEra (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type PreviousEra (AllegraEra c) = ShelleyEra c
type ProtVerHigh (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type ProtVerHigh (AllegraEra c) = ProtVerLow (AllegraEra c)
type ProtVerLow (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type ProtVerLow (AllegraEra c) = 3
type TranslationContext (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type TranslationContext (AllegraEra c) = ()
type TxCert (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.TxCert

type TxCert (AllegraEra c) = ShelleyTxCert (AllegraEra c)
type TxCertUpgradeError (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.TxCert

type TxCertUpgradeError (AllegraEra c) = Void
type ScriptsNeeded (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.UTxO

type ScriptsNeeded (AllegraEra c) = ShelleyScriptsNeeded (AllegraEra c)
type AdditionalGenesisConfig (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra

type AdditionalGenesisConfig (AllegraEra c) = ()
type GovState (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.PParams

type GovState (AllegraEra c) = ShelleyGovState (AllegraEra c)
newtype TransitionConfig (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Transition

newtype TransitionConfig (AllegraEra c) = AllegraTransitionConfig {}
data ProtocolParams (CardanoBlock c) Source #

Parameters needed to run Cardano.

Instance details

Defined in Ouroboros.Consensus.Cardano.Node

type TranslationError (AllegraEra c) CertState 
Instance details

Defined in Cardano.Ledger.Allegra.Translation

type TranslationError (AllegraEra c) CertState = Void
type TranslationError (AllegraEra c) CommitteeState 
Instance details

Defined in Cardano.Ledger.Allegra.Translation

type TranslationError (AllegraEra c) CommitteeState = Void
type TranslationError (AllegraEra c) DState 
Instance details

Defined in Cardano.Ledger.Allegra.Translation

type TranslationError (AllegraEra c) DState = Void
type TranslationError (AllegraEra c) PState 
Instance details

Defined in Cardano.Ledger.Allegra.Translation

type TranslationError (AllegraEra c) PState = Void
type TranslationError (AllegraEra c) VState 
Instance details

Defined in Cardano.Ledger.Allegra.Translation

type TranslationError (AllegraEra c) VState = Void
type TranslationError (AllegraEra c) PParams 
Instance details

Defined in Cardano.Ledger.Allegra.Translation

type TranslationError (AllegraEra c) PParams = Void
type TranslationError (AllegraEra c) PParamsUpdate 
Instance details

Defined in Cardano.Ledger.Allegra.Translation

type TranslationError (AllegraEra c) PParamsUpdate = Void
type TranslationError (AllegraEra c) UTxO 
Instance details

Defined in Cardano.Ledger.Allegra.Translation

type TranslationError (AllegraEra c) UTxO = Void
type TranslationError (AllegraEra c) ShelleyGovState 
Instance details

Defined in Cardano.Ledger.Allegra.Translation

type TranslationError (AllegraEra c) ShelleyGovState = Void
type TranslationError (AllegraEra c) EpochState 
Instance details

Defined in Cardano.Ledger.Allegra.Translation

type TranslationError (AllegraEra c) EpochState = Void
type TranslationError (AllegraEra c) LedgerState 
Instance details

Defined in Cardano.Ledger.Allegra.Translation

type TranslationError (AllegraEra c) LedgerState = Void
type TranslationError (AllegraEra c) NewEpochState 
Instance details

Defined in Cardano.Ledger.Allegra.Translation

type TranslationError (AllegraEra c) NewEpochState = Void
type TranslationError (AllegraEra c) UTxOState 
Instance details

Defined in Cardano.Ledger.Allegra.Translation

type TranslationError (AllegraEra c) UTxOState = Void
type TranslationError (AllegraEra c) ProposedPPUpdates 
Instance details

Defined in Cardano.Ledger.Allegra.Translation

type TranslationError (AllegraEra c) ProposedPPUpdates = Void
type TranslationError (AllegraEra c) Update 
Instance details

Defined in Cardano.Ledger.Allegra.Translation

type TranslationError (AllegraEra c) Update = Void
type TranslationError (AllegraEra c) ShelleyTx 
Instance details

Defined in Cardano.Ledger.Allegra.Translation

type TranslationError (AllegraEra c) ShelleyTx = DecoderError
type TranslationError (AllegraEra c) ShelleyTxOut 
Instance details

Defined in Cardano.Ledger.Allegra.Translation

type TranslationError (AllegraEra c) ShelleyTxOut = Void
type TranslationError (AllegraEra c) ShelleyTxWits 
Instance details

Defined in Cardano.Ledger.Allegra.Translation

type TranslationError (AllegraEra c) ShelleyTxWits = DecoderError
type TranslationError (AllegraEra c) WrapTx 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

type TranslationError (AllegraEra c) WrapTx = TranslationError (AllegraEra c) ShelleyTx
type TxMeasure (ShelleyBlock p (AllegraEra c)) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type TxMeasure (ShelleyBlock p (AllegraEra c)) = ByteSize
data ProtocolParams (ShelleyBlock (TPraos c) (AllegraEra c)) Source #

Parameters needed to run Allegra

Instance details

Defined in Ouroboros.Consensus.Shelley.Node.TPraos

data AlonzoEra c #

Instances

Instances details
Crypto c => AlonzoEraTx (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Tx

Methods

isValidTxL :: Lens' (Tx (AlonzoEra c)) IsValid

(EraScript (AlonzoEra c), Crypto c) => AlonzoEraTxWits (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.TxWits

Methods

datsTxWitsL :: Lens' (TxWits (AlonzoEra c)) (TxDats (AlonzoEra c))

rdmrsTxWitsL :: Lens' (TxWits (AlonzoEra c)) (Redeemers (AlonzoEra c))

Crypto c => AlonzoEraUTxO (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.UTxO

Methods

getSupplementalDataHashes :: UTxO (AlonzoEra c) -> TxBody (AlonzoEra c) -> Set (DataHash (EraCrypto (AlonzoEra c)))

getSpendingDatum :: UTxO (AlonzoEra c) -> Tx (AlonzoEra c) -> ScriptPurpose (AlonzoEra c) -> Maybe (Data (AlonzoEra c))

Crypto c => Era (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

Associated Types

type EraCrypto (AlonzoEra c) #

type PreviousEra (AlonzoEra c) = (r :: Type)

type ProtVerLow (AlonzoEra c) :: Nat

type ProtVerHigh (AlonzoEra c) :: Nat

Methods

eraName :: String

Crypto c => GetLedgerView (AlonzoEra c) 
Instance details

Defined in Cardano.Protocol.TPraos.API

Methods

currentLedgerView :: NewEpochState (AlonzoEra c) -> LedgerView (EraCrypto (AlonzoEra c))

futureLedgerView :: MonadError (FutureLedgerViewError (AlonzoEra c)) m => Globals -> NewEpochState (AlonzoEra c) -> SlotNo -> m (LedgerView (EraCrypto (AlonzoEra c)))

CardanoHardForkConstraints c => CanHardFork (CardanoEras c) 
Instance details

Defined in Ouroboros.Consensus.Cardano.CanHardFork

Methods

hardForkEraTranslation :: EraTranslation (CardanoEras c)

hardForkChainSel :: Tails AcrossEraSelection (CardanoEras c)

hardForkInjectTxs :: InPairs (RequiringBoth WrapLedgerConfig (Product2 InjectTx InjectValidatedTx)) (CardanoEras c)

CardanoHardForkConstraints c => CondenseConstraints (CardanoBlock c) 
Instance details

Defined in Ouroboros.Consensus.Cardano.Condense

CardanoHardForkConstraints c => SerialiseHFC (CardanoEras c)

Important: we need to maintain binary compatibility with Byron blocks, as they are already stored on disk.

We also want to be able to efficiently detect (without having to peek far ahead) whether we're dealing with a Byron or Shelley block, so that we can invoke the right decoder. We plan to have a few more hard forks after Shelley (Goguen, Basho, Voltaire), so we want a future-proof envelope for distinguishing the different block types, i.e., a byte indicating the era.

Byron does not provide such an envelope. However, a Byron block is a CBOR 2-tuple with the first element being a tag (Word: 0 = EBB; 1 = regular block) and the second being the payload. We can easily extend this encoding format with support for Shelley, Goguen, etc.

We encode a CardanoBlock as the same CBOR 2-tuple as a Byron block, but we use the tags after 1 for the hard forks after Byron:

  1. Byron EBB
  2. Byron regular block
  3. Shelley block
  4. Allegra block
  5. Mary block
  6. Goguen block
  7. etc.

For more details, see: https://github.com/input-output-hk/ouroboros-network/pull/1175#issuecomment-558147194

Instance details

Defined in Ouroboros.Consensus.Cardano.Node

Methods

encodeDiskHfcBlock :: CodecConfig (HardForkBlock (CardanoEras c)) -> HardForkBlock (CardanoEras c) -> Encoding

decodeDiskHfcBlock :: CodecConfig (HardForkBlock (CardanoEras c)) -> forall s. Decoder s (ByteString -> HardForkBlock (CardanoEras c))

reconstructHfcPrefixLen :: proxy (Header (HardForkBlock (CardanoEras c))) -> PrefixLen

reconstructHfcNestedCtxt :: proxy (Header (HardForkBlock (CardanoEras c))) -> ShortByteString -> SizeInBytes -> SomeSecond (NestedCtxt Header) (HardForkBlock (CardanoEras c))

getHfcBinaryBlockInfo :: HardForkBlock (CardanoEras c) -> BinaryBlockInfo

estimateHfcBlockSize :: Header (HardForkBlock (CardanoEras c)) -> SizeInBytes

CardanoHardForkConstraints c => SupportedNetworkProtocolVersion (CardanoBlock c) 
Instance details

Defined in Ouroboros.Consensus.Cardano.Node

Methods

supportedNodeToNodeVersions :: Proxy (CardanoBlock c) -> Map NodeToNodeVersion (BlockNodeToNodeVersion (CardanoBlock c))

supportedNodeToClientVersions :: Proxy (CardanoBlock c) -> Map NodeToClientVersion (BlockNodeToClientVersion (CardanoBlock c))

latestReleasedNodeVersion :: Proxy (CardanoBlock c) -> (Maybe NodeToNodeVersion, Maybe NodeToClientVersion)

(PraosCrypto c, DSignable c (Hash c EraIndependentTxBody)) => ShelleyBasedEra (AlonzoEra c) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

Methods

shelleyBasedEraName :: proxy (AlonzoEra c) -> Text Source #

applyShelleyBasedTx :: Globals -> LedgerEnv (AlonzoEra c) -> LedgerState (AlonzoEra c) -> WhetherToIntervene -> Tx (AlonzoEra c) -> Except (ApplyTxError (AlonzoEra c)) (LedgerState (AlonzoEra c), Validated (Tx (AlonzoEra c))) Source #

getProposedProtocolVersion :: PParamsUpdate (AlonzoEra c) -> Maybe ProtVer Source #

Crypto c => TranslateEra (AlonzoEra c) Tx 
Instance details

Defined in Cardano.Ledger.Alonzo.Translation

Associated Types

type TranslationError (AlonzoEra c) Tx

Methods

translateEra :: TranslationContext (AlonzoEra c) -> Tx (PreviousEra (AlonzoEra c)) -> Except (TranslationError (AlonzoEra c) Tx) (Tx (AlonzoEra c))

ShelleyBasedEra (AlonzoEra c) => TranslateEra (AlonzoEra c) WrapTx 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

Associated Types

type TranslationError (AlonzoEra c) WrapTx

Methods

translateEra :: TranslationContext (AlonzoEra c) -> WrapTx (PreviousEra (AlonzoEra c)) -> Except (TranslationError (AlonzoEra c) WrapTx) (WrapTx (AlonzoEra c))

(PraosCrypto c, Signable (DSIGN c) (Hash (HASH c) EraIndependentTxBody)) => ShelleyCompatible (TPraos c) (AlonzoEra c) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.HFEras

Crypto c => ToJSON (AlonzoPParams Identity (AlonzoEra c)) 
Instance details

Defined in Cardano.Ledger.Alonzo.PParams

Methods

toJSON :: AlonzoPParams Identity (AlonzoEra c) -> Value

toEncoding :: AlonzoPParams Identity (AlonzoEra c) -> Encoding

toJSONList :: [AlonzoPParams Identity (AlonzoEra c)] -> Value

toEncodingList :: [AlonzoPParams Identity (AlonzoEra c)] -> Encoding

omitField :: AlonzoPParams Identity (AlonzoEra c) -> Bool

Crypto c => ToJSON (AlonzoPParams StrictMaybe (AlonzoEra c)) 
Instance details

Defined in Cardano.Ledger.Alonzo.PParams

Methods

toJSON :: AlonzoPParams StrictMaybe (AlonzoEra c) -> Value

toEncoding :: AlonzoPParams StrictMaybe (AlonzoEra c) -> Encoding

toJSONList :: [AlonzoPParams StrictMaybe (AlonzoEra c)] -> Value

toEncodingList :: [AlonzoPParams StrictMaybe (AlonzoEra c)] -> Encoding

omitField :: AlonzoPParams StrictMaybe (AlonzoEra c) -> Bool

ShelleyCompatible p (AlonzoEra c) => TxLimits (ShelleyBlock p (AlonzoEra c)) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Associated Types

type TxMeasure (ShelleyBlock p (AlonzoEra c))

type EraRule "BBODY" (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type EraRule "BBODY" (AlonzoEra c) = AlonzoBBODY (AlonzoEra c)
type EraRule "DELEG" (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type EraRule "DELEG" (AlonzoEra c) = ShelleyDELEG (AlonzoEra c)
type EraRule "DELEGS" (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type EraRule "DELEGS" (AlonzoEra c) = ShelleyDELEGS (AlonzoEra c)
type EraRule "DELPL" (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type EraRule "DELPL" (AlonzoEra c) = ShelleyDELPL (AlonzoEra c)
type EraRule "EPOCH" (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type EraRule "EPOCH" (AlonzoEra c) = ShelleyEPOCH (AlonzoEra c)
type EraRule "LEDGER" (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type EraRule "LEDGER" (AlonzoEra c) = AlonzoLEDGER (AlonzoEra c)
type EraRule "LEDGERS" (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type EraRule "LEDGERS" (AlonzoEra c) = ShelleyLEDGERS (AlonzoEra c)
type EraRule "MIR" (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type EraRule "MIR" (AlonzoEra c) = ShelleyMIR (AlonzoEra c)
type EraRule "NEWEPOCH" (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type EraRule "NEWEPOCH" (AlonzoEra c) = ShelleyNEWEPOCH (AlonzoEra c)
type EraRule "NEWPP" (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type EraRule "NEWPP" (AlonzoEra c) = ShelleyNEWPP (AlonzoEra c)
type EraRule "POOL" (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type EraRule "POOL" (AlonzoEra c) = ShelleyPOOL (AlonzoEra c)
type EraRule "POOLREAP" (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type EraRule "POOLREAP" (AlonzoEra c) = ShelleyPOOLREAP (AlonzoEra c)
type EraRule "PPUP" (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type EraRule "PPUP" (AlonzoEra c) = ShelleyPPUP (AlonzoEra c)
type EraRule "RUPD" (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type EraRule "RUPD" (AlonzoEra c) = ShelleyRUPD (AlonzoEra c)
type EraRule "SNAP" (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type EraRule "SNAP" (AlonzoEra c) = ShelleySNAP (AlonzoEra c)
type EraRule "TICK" (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type EraRule "TICK" (AlonzoEra c) = ShelleyTICK (AlonzoEra c)
type EraRule "TICKF" (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type EraRule "TICKF" (AlonzoEra c) = ShelleyTICKF (AlonzoEra c)
type EraRule "UPEC" (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type EraRule "UPEC" (AlonzoEra c) = ShelleyUPEC (AlonzoEra c)
type EraRule "UTXO" (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type EraRule "UTXO" (AlonzoEra c) = AlonzoUTXO (AlonzoEra c)
type EraRule "UTXOS" (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type EraRule "UTXOS" (AlonzoEra c) = AlonzoUTXOS (AlonzoEra c)
type EraRule "UTXOW" (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type EraRule "UTXOW" (AlonzoEra c) = AlonzoUTXOW (AlonzoEra c)
type DowngradePParams f (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.PParams

type DowngradePParams f (AlonzoEra c) = DowngradeAlonzoPParams f
type PParamsHKD f (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.PParams

type PParamsHKD f (AlonzoEra c) = AlonzoPParams f (AlonzoEra c)
type UpgradePParams f (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.PParams

type UpgradePParams f (AlonzoEra c) = UpgradeAlonzoPParams f
type Rep (TransitionConfig (AlonzoEra c)) 
Instance details

Defined in Cardano.Ledger.Alonzo.Transition

type Rep (TransitionConfig (AlonzoEra c)) = D1 ('MetaData "TransitionConfig" "Cardano.Ledger.Alonzo.Transition" "cardano-ledger-alonzo-1.5.1.0-23cla4UOUlaLTpzXjeI3CP" 'False) (C1 ('MetaCons "AlonzoTransitionConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "atcAlonzoGenesis") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 AlonzoGenesis) :*: S1 ('MetaSel ('Just "atcMaryTransitionConfig") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (TransitionConfig (MaryEra c)))))
type NativeScript (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

type NativeScript (AlonzoEra c) = Timelock (AlonzoEra c)
type Script (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Scripts

type Script (AlonzoEra c) = AlonzoScript (AlonzoEra c)
type Tx (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Tx

type Tx (AlonzoEra c) = AlonzoTx (AlonzoEra c)
type TxAuxData (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.TxAuxData

type TxAuxData (AlonzoEra c) = AlonzoTxAuxData (AlonzoEra c)
type TxBody (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.TxBody

type TxBody (AlonzoEra c) = AlonzoTxBody (AlonzoEra c)
type TxBodyUpgradeError (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.TxBody

type TxBodyUpgradeError (AlonzoEra c) = AlonzoTxBodyUpgradeError
type TxOut (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.TxOut

type TxOut (AlonzoEra c) = AlonzoTxOut (AlonzoEra c)
type TxSeq (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.TxSeq

type TxSeq (AlonzoEra c) = AlonzoTxSeq (AlonzoEra c)
type TxUpgradeError (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Tx

type TxUpgradeError (AlonzoEra c) = AlonzoTxUpgradeError
type TxWits (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.TxWits

type TxWits (AlonzoEra c) = AlonzoTxWits (AlonzoEra c)
type Value (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type Value (AlonzoEra c) = MaryValue c
type EraCrypto (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type EraCrypto (AlonzoEra c) = c
type PreviousEra (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type PreviousEra (AlonzoEra c) = MaryEra c
type ProtVerHigh (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type ProtVerHigh (AlonzoEra c) = 6
type ProtVerLow (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type ProtVerLow (AlonzoEra c) = 5
type TranslationContext (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Translation

type TranslationContext (AlonzoEra c) = AlonzoGenesis
type TxCert (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.TxCert

type TxCert (AlonzoEra c) = ShelleyTxCert (AlonzoEra c)
type TxCertUpgradeError (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.TxCert

type TxCertUpgradeError (AlonzoEra c) = Void
type ScriptsNeeded (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.UTxO

type ScriptsNeeded (AlonzoEra c) = AlonzoScriptsNeeded (AlonzoEra c)
type AdditionalGenesisConfig (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo

type AdditionalGenesisConfig (AlonzoEra c) = AlonzoGenesis
type GovState (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.PParams

type GovState (AlonzoEra c) = ShelleyGovState (AlonzoEra c)
data TransitionConfig (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Transition

data TransitionConfig (AlonzoEra c) = AlonzoTransitionConfig {}
data ProtocolParams (CardanoBlock c) Source #

Parameters needed to run Cardano.

Instance details

Defined in Ouroboros.Consensus.Cardano.Node

type TranslationError (AlonzoEra c) Tx 
Instance details

Defined in Cardano.Ledger.Alonzo.Translation

type TranslationError (AlonzoEra c) Tx = DecoderError
type TranslationError (AlonzoEra c) CertState 
Instance details

Defined in Cardano.Ledger.Alonzo.Translation

type TranslationError (AlonzoEra c) CertState = Void
type TranslationError (AlonzoEra c) CommitteeState 
Instance details

Defined in Cardano.Ledger.Alonzo.Translation

type TranslationError (AlonzoEra c) CommitteeState = Void
type TranslationError (AlonzoEra c) DState 
Instance details

Defined in Cardano.Ledger.Alonzo.Translation

type TranslationError (AlonzoEra c) DState = Void
type TranslationError (AlonzoEra c) PState 
Instance details

Defined in Cardano.Ledger.Alonzo.Translation

type TranslationError (AlonzoEra c) PState = Void
type TranslationError (AlonzoEra c) VState 
Instance details

Defined in Cardano.Ledger.Alonzo.Translation

type TranslationError (AlonzoEra c) VState = Void
type TranslationError (AlonzoEra c) PParams 
Instance details

Defined in Cardano.Ledger.Alonzo.Translation

type TranslationError (AlonzoEra c) PParams = Void
type TranslationError (AlonzoEra c) UTxO 
Instance details

Defined in Cardano.Ledger.Alonzo.Translation

type TranslationError (AlonzoEra c) UTxO = Void
type TranslationError (AlonzoEra c) ShelleyGovState 
Instance details

Defined in Cardano.Ledger.Alonzo.Translation

type TranslationError (AlonzoEra c) ShelleyGovState = Void
type TranslationError (AlonzoEra c) EpochState 
Instance details

Defined in Cardano.Ledger.Alonzo.Translation

type TranslationError (AlonzoEra c) EpochState = Void
type TranslationError (AlonzoEra c) LedgerState 
Instance details

Defined in Cardano.Ledger.Alonzo.Translation

type TranslationError (AlonzoEra c) LedgerState = Void
type TranslationError (AlonzoEra c) NewEpochState 
Instance details

Defined in Cardano.Ledger.Alonzo.Translation

type TranslationError (AlonzoEra c) NewEpochState = Void
type TranslationError (AlonzoEra c) UTxOState 
Instance details

Defined in Cardano.Ledger.Alonzo.Translation

type TranslationError (AlonzoEra c) UTxOState = Void
type TranslationError (AlonzoEra c) ProposedPPUpdates 
Instance details

Defined in Cardano.Ledger.Alonzo.Translation

type TranslationError (AlonzoEra c) ProposedPPUpdates = Void
type TranslationError (AlonzoEra c) WrapTx 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

type TranslationError (AlonzoEra c) WrapTx = TranslationError (AlonzoEra c) Tx
type TxMeasure (ShelleyBlock p (AlonzoEra c)) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type TxMeasure (ShelleyBlock p (AlonzoEra c)) = AlonzoMeasure
data ProtocolParams (ShelleyBlock (TPraos c) (AlonzoEra c)) Source #

Parameters needed to run Alonzo

Instance details

Defined in Ouroboros.Consensus.Shelley.Node.TPraos

data BabbageEra c #

Instances

Instances details
Crypto c => Era (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

Associated Types

type EraCrypto (BabbageEra c) #

type PreviousEra (BabbageEra c) = (r :: Type)

type ProtVerLow (BabbageEra c) :: Nat

type ProtVerHigh (BabbageEra c) :: Nat

Methods

eraName :: String

Crypto c => GetLedgerView (BabbageEra c) 
Instance details

Defined in Cardano.Protocol.TPraos.API

Methods

currentLedgerView :: NewEpochState (BabbageEra c) -> LedgerView (EraCrypto (BabbageEra c))

futureLedgerView :: MonadError (FutureLedgerViewError (BabbageEra c)) m => Globals -> NewEpochState (BabbageEra c) -> SlotNo -> m (LedgerView (EraCrypto (BabbageEra c)))

CardanoHardForkConstraints c => CanHardFork (CardanoEras c) 
Instance details

Defined in Ouroboros.Consensus.Cardano.CanHardFork

Methods

hardForkEraTranslation :: EraTranslation (CardanoEras c)

hardForkChainSel :: Tails AcrossEraSelection (CardanoEras c)

hardForkInjectTxs :: InPairs (RequiringBoth WrapLedgerConfig (Product2 InjectTx InjectValidatedTx)) (CardanoEras c)

CardanoHardForkConstraints c => CondenseConstraints (CardanoBlock c) 
Instance details

Defined in Ouroboros.Consensus.Cardano.Condense

CardanoHardForkConstraints c => SerialiseHFC (CardanoEras c)

Important: we need to maintain binary compatibility with Byron blocks, as they are already stored on disk.

We also want to be able to efficiently detect (without having to peek far ahead) whether we're dealing with a Byron or Shelley block, so that we can invoke the right decoder. We plan to have a few more hard forks after Shelley (Goguen, Basho, Voltaire), so we want a future-proof envelope for distinguishing the different block types, i.e., a byte indicating the era.

Byron does not provide such an envelope. However, a Byron block is a CBOR 2-tuple with the first element being a tag (Word: 0 = EBB; 1 = regular block) and the second being the payload. We can easily extend this encoding format with support for Shelley, Goguen, etc.

We encode a CardanoBlock as the same CBOR 2-tuple as a Byron block, but we use the tags after 1 for the hard forks after Byron:

  1. Byron EBB
  2. Byron regular block
  3. Shelley block
  4. Allegra block
  5. Mary block
  6. Goguen block
  7. etc.

For more details, see: https://github.com/input-output-hk/ouroboros-network/pull/1175#issuecomment-558147194

Instance details

Defined in Ouroboros.Consensus.Cardano.Node

Methods

encodeDiskHfcBlock :: CodecConfig (HardForkBlock (CardanoEras c)) -> HardForkBlock (CardanoEras c) -> Encoding

decodeDiskHfcBlock :: CodecConfig (HardForkBlock (CardanoEras c)) -> forall s. Decoder s (ByteString -> HardForkBlock (CardanoEras c))

reconstructHfcPrefixLen :: proxy (Header (HardForkBlock (CardanoEras c))) -> PrefixLen

reconstructHfcNestedCtxt :: proxy (Header (HardForkBlock (CardanoEras c))) -> ShortByteString -> SizeInBytes -> SomeSecond (NestedCtxt Header) (HardForkBlock (CardanoEras c))

getHfcBinaryBlockInfo :: HardForkBlock (CardanoEras c) -> BinaryBlockInfo

estimateHfcBlockSize :: Header (HardForkBlock (CardanoEras c)) -> SizeInBytes

CardanoHardForkConstraints c => SupportedNetworkProtocolVersion (CardanoBlock c) 
Instance details

Defined in Ouroboros.Consensus.Cardano.Node

Methods

supportedNodeToNodeVersions :: Proxy (CardanoBlock c) -> Map NodeToNodeVersion (BlockNodeToNodeVersion (CardanoBlock c))

supportedNodeToClientVersions :: Proxy (CardanoBlock c) -> Map NodeToClientVersion (BlockNodeToClientVersion (CardanoBlock c))

latestReleasedNodeVersion :: Proxy (CardanoBlock c) -> (Maybe NodeToNodeVersion, Maybe NodeToClientVersion)

PraosCrypto c => ShelleyBasedEra (BabbageEra c) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

Methods

shelleyBasedEraName :: proxy (BabbageEra c) -> Text Source #

applyShelleyBasedTx :: Globals -> LedgerEnv (BabbageEra c) -> LedgerState (BabbageEra c) -> WhetherToIntervene -> Tx (BabbageEra c) -> Except (ApplyTxError (BabbageEra c)) (LedgerState (BabbageEra c), Validated (Tx (BabbageEra c))) Source #

getProposedProtocolVersion :: PParamsUpdate (BabbageEra c) -> Maybe ProtVer Source #

Crypto c => TranslateEra (BabbageEra c) Tx 
Instance details

Defined in Cardano.Ledger.Babbage.Translation

Associated Types

type TranslationError (BabbageEra c) Tx

Methods

translateEra :: TranslationContext (BabbageEra c) -> Tx (PreviousEra (BabbageEra c)) -> Except (TranslationError (BabbageEra c) Tx) (Tx (BabbageEra c))

ShelleyBasedEra (BabbageEra c) => TranslateEra (BabbageEra c) WrapTx 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

Associated Types

type TranslationError (BabbageEra c) WrapTx

Methods

translateEra :: TranslationContext (BabbageEra c) -> WrapTx (PreviousEra (BabbageEra c)) -> Except (TranslationError (BabbageEra c) WrapTx) (WrapTx (BabbageEra c))

PraosCrypto c => ShelleyCompatible (Praos c) (BabbageEra c) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.HFEras

(PraosCrypto c, PraosCrypto c) => ShelleyCompatible (TPraos c) (BabbageEra c) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.HFEras

ShelleyCompatible p (BabbageEra c) => TxLimits (ShelleyBlock p (BabbageEra c)) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Associated Types

type TxMeasure (ShelleyBlock p (BabbageEra c))

type EraRule "BBODY" (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type EraRule "BBODY" (BabbageEra c) = AlonzoBBODY (BabbageEra c)
type EraRule "DELEG" (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type EraRule "DELEG" (BabbageEra c) = ShelleyDELEG (BabbageEra c)
type EraRule "DELEGS" (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type EraRule "DELEGS" (BabbageEra c) = ShelleyDELEGS (BabbageEra c)
type EraRule "DELPL" (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type EraRule "DELPL" (BabbageEra c) = ShelleyDELPL (BabbageEra c)
type EraRule "EPOCH" (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type EraRule "EPOCH" (BabbageEra c) = ShelleyEPOCH (BabbageEra c)
type EraRule "LEDGER" (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type EraRule "LEDGER" (BabbageEra c) = BabbageLEDGER (BabbageEra c)
type EraRule "LEDGERS" (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type EraRule "LEDGERS" (BabbageEra c) = ShelleyLEDGERS (BabbageEra c)
type EraRule "MIR" (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type EraRule "MIR" (BabbageEra c) = ShelleyMIR (BabbageEra c)
type EraRule "NEWEPOCH" (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type EraRule "NEWEPOCH" (BabbageEra c) = ShelleyNEWEPOCH (BabbageEra c)
type EraRule "NEWPP" (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type EraRule "NEWPP" (BabbageEra c) = ShelleyNEWPP (BabbageEra c)
type EraRule "POOL" (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type EraRule "POOL" (BabbageEra c) = ShelleyPOOL (BabbageEra c)
type EraRule "POOLREAP" (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type EraRule "POOLREAP" (BabbageEra c) = ShelleyPOOLREAP (BabbageEra c)
type EraRule "PPUP" (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type EraRule "PPUP" (BabbageEra c) = ShelleyPPUP (BabbageEra c)
type EraRule "RUPD" (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type EraRule "RUPD" (BabbageEra c) = ShelleyRUPD (BabbageEra c)
type EraRule "SNAP" (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type EraRule "SNAP" (BabbageEra c) = ShelleySNAP (BabbageEra c)
type EraRule "TICK" (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type EraRule "TICK" (BabbageEra c) = ShelleyTICK (BabbageEra c)
type EraRule "TICKF" (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type EraRule "TICKF" (BabbageEra c) = ShelleyTICKF (BabbageEra c)
type EraRule "UPEC" (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type EraRule "UPEC" (BabbageEra c) = ShelleyUPEC (BabbageEra c)
type EraRule "UTXO" (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type EraRule "UTXO" (BabbageEra c) = BabbageUTXO (BabbageEra c)
type EraRule "UTXOS" (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type EraRule "UTXOS" (BabbageEra c) = BabbageUTXOS (BabbageEra c)
type EraRule "UTXOW" (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type EraRule "UTXOW" (BabbageEra c) = BabbageUTXOW (BabbageEra c)
type DowngradePParams f (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.PParams

type DowngradePParams f (BabbageEra c) = DowngradeBabbagePParams f
type PParamsHKD f (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.PParams

type PParamsHKD f (BabbageEra c) = BabbagePParams f (BabbageEra c)
type UpgradePParams f (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.PParams

type UpgradePParams f (BabbageEra c) = ()
type NativeScript (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Scripts

type NativeScript (BabbageEra c) = Timelock (BabbageEra c)
type Script (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Scripts

type Script (BabbageEra c) = AlonzoScript (BabbageEra c)
type Tx (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Tx

type Tx (BabbageEra c) = AlonzoTx (BabbageEra c)
type TxAuxData (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.TxAuxData

type TxAuxData (BabbageEra c) = AlonzoTxAuxData (BabbageEra c)
type TxBody (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.TxBody

type TxBody (BabbageEra c) = BabbageTxBody (BabbageEra c)
type TxBodyUpgradeError (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.TxBody

type TxBodyUpgradeError (BabbageEra c) = BabbageTxBodyUpgradeError
type TxOut (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.TxOut

type TxOut (BabbageEra c) = BabbageTxOut (BabbageEra c)
type TxSeq (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Tx

type TxSeq (BabbageEra c) = AlonzoTxSeq (BabbageEra c)
type TxUpgradeError (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Tx

type TxUpgradeError (BabbageEra c) = BabbageTxUpgradeError
type TxWits (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.TxWits

type TxWits (BabbageEra c) = AlonzoTxWits (BabbageEra c)
type Value (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type Value (BabbageEra c) = MaryValue c
type EraCrypto (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type EraCrypto (BabbageEra c) = c
type PreviousEra (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type PreviousEra (BabbageEra c) = AlonzoEra c
type ProtVerHigh (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type ProtVerHigh (BabbageEra c) = 8
type ProtVerLow (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type ProtVerLow (BabbageEra c) = 7
type TranslationContext (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Translation

type TranslationContext (BabbageEra c) = ()
type TxCert (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.TxCert

type TxCert (BabbageEra c) = ShelleyTxCert (BabbageEra c)
type TxCertUpgradeError (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.TxCert

type TxCertUpgradeError (BabbageEra c) = Void
type ScriptsNeeded (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.UTxO

type ScriptsNeeded (BabbageEra c) = AlonzoScriptsNeeded (BabbageEra c)
type AdditionalGenesisConfig (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage

type AdditionalGenesisConfig (BabbageEra c) = AlonzoGenesis
type GovState (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.PParams

type GovState (BabbageEra c) = ShelleyGovState (BabbageEra c)
newtype TransitionConfig (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Transition

newtype TransitionConfig (BabbageEra c) = BabbageTransitionConfig {}
data ProtocolParams (CardanoBlock c) Source #

Parameters needed to run Cardano.

Instance details

Defined in Ouroboros.Consensus.Cardano.Node

type TranslationError (BabbageEra c) Tx 
Instance details

Defined in Cardano.Ledger.Babbage.Translation

type TranslationError (BabbageEra c) Tx = DecoderError
type TranslationError (BabbageEra c) CertState 
Instance details

Defined in Cardano.Ledger.Babbage.Translation

type TranslationError (BabbageEra c) CertState = Void
type TranslationError (BabbageEra c) CommitteeState 
Instance details

Defined in Cardano.Ledger.Babbage.Translation

type TranslationError (BabbageEra c) CommitteeState = Void
type TranslationError (BabbageEra c) DState 
Instance details

Defined in Cardano.Ledger.Babbage.Translation

type TranslationError (BabbageEra c) DState = Void
type TranslationError (BabbageEra c) PState 
Instance details

Defined in Cardano.Ledger.Babbage.Translation

type TranslationError (BabbageEra c) PState = Void
type TranslationError (BabbageEra c) VState 
Instance details

Defined in Cardano.Ledger.Babbage.Translation

type TranslationError (BabbageEra c) VState = Void
type TranslationError (BabbageEra c) PParams 
Instance details

Defined in Cardano.Ledger.Babbage.Translation

type TranslationError (BabbageEra c) PParams = Void
type TranslationError (BabbageEra c) UTxO 
Instance details

Defined in Cardano.Ledger.Babbage.Translation

type TranslationError (BabbageEra c) UTxO = Void
type TranslationError (BabbageEra c) ShelleyGovState 
Instance details

Defined in Cardano.Ledger.Babbage.Translation

type TranslationError (BabbageEra c) ShelleyGovState = Void
type TranslationError (BabbageEra c) EpochState 
Instance details

Defined in Cardano.Ledger.Babbage.Translation

type TranslationError (BabbageEra c) EpochState = Void
type TranslationError (BabbageEra c) LedgerState 
Instance details

Defined in Cardano.Ledger.Babbage.Translation

type TranslationError (BabbageEra c) LedgerState = Void
type TranslationError (BabbageEra c) NewEpochState 
Instance details

Defined in Cardano.Ledger.Babbage.Translation

type TranslationError (BabbageEra c) NewEpochState = Void
type TranslationError (BabbageEra c) UTxOState 
Instance details

Defined in Cardano.Ledger.Babbage.Translation

type TranslationError (BabbageEra c) UTxOState = Void
type TranslationError (BabbageEra c) ProposedPPUpdates 
Instance details

Defined in Cardano.Ledger.Babbage.Translation

type TranslationError (BabbageEra c) ProposedPPUpdates = Void
type TranslationError (BabbageEra c) WrapTx 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

type TranslationError (BabbageEra c) WrapTx = TranslationError (BabbageEra c) Tx
type TxMeasure (ShelleyBlock p (BabbageEra c)) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type TxMeasure (ShelleyBlock p (BabbageEra c)) = AlonzoMeasure
data ProtocolParams (ShelleyBlock (Praos c) (BabbageEra c)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Praos

data ConwayEra c #

Instances

Instances details
Crypto c => ConwayEraGov (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Governance

Methods

constitutionGovStateL :: Lens' (GovState (ConwayEra c)) (Constitution (ConwayEra c))

proposalsGovStateL :: Lens' (GovState (ConwayEra c)) (Proposals (ConwayEra c))

drepPulsingStateGovStateL :: Lens' (GovState (ConwayEra c)) (DRepPulsingState (ConwayEra c))

enactStateGovStateL :: Lens' (GovState (ConwayEra c)) (EnactState (ConwayEra c))

Crypto c => ConwayEraPParams (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.PParams

Methods

modifiedPPGroups :: PParamsUpdate (ConwayEra c) -> Set PPGroup

ppuWellFormed :: PParamsUpdate (ConwayEra c) -> Bool

hkdPoolVotingThresholdsL :: forall (f :: Type -> Type). HKDFunctor f => Lens' (PParamsHKD f (ConwayEra c)) (HKD f PoolVotingThresholds)

hkdDRepVotingThresholdsL :: forall (f :: Type -> Type). HKDFunctor f => Lens' (PParamsHKD f (ConwayEra c)) (HKD f DRepVotingThresholds)

hkdCommitteeMinSizeL :: forall (f :: Type -> Type). HKDFunctor f => Lens' (PParamsHKD f (ConwayEra c)) (HKD f Natural)

hkdCommitteeMaxTermLengthL :: forall (f :: Type -> Type). HKDFunctor f => Lens' (PParamsHKD f (ConwayEra c)) (HKD f EpochNo)

hkdGovActionLifetimeL :: forall (f :: Type -> Type). HKDFunctor f => Lens' (PParamsHKD f (ConwayEra c)) (HKD f EpochNo)

hkdGovActionDepositL :: forall (f :: Type -> Type). HKDFunctor f => Lens' (PParamsHKD f (ConwayEra c)) (HKD f Coin)

hkdDRepDepositL :: forall (f :: Type -> Type). HKDFunctor f => Lens' (PParamsHKD f (ConwayEra c)) (HKD f Coin)

hkdDRepActivityL :: forall (f :: Type -> Type). HKDFunctor f => Lens' (PParamsHKD f (ConwayEra c)) (HKD f EpochNo)

Crypto c => ConwayEraTxBody (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.TxBody

Methods

currentTreasuryValueTxBodyL :: Lens' (TxBody (ConwayEra c)) (StrictMaybe Coin)

votingProceduresTxBodyL :: Lens' (TxBody (ConwayEra c)) (VotingProcedures (ConwayEra c))

proposalProceduresTxBodyL :: Lens' (TxBody (ConwayEra c)) (OSet (ProposalProcedure (ConwayEra c)))

treasuryDonationTxBodyL :: Lens' (TxBody (ConwayEra c)) Coin

Crypto c => ConwayEraTxCert (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.TxCert

Methods

mkRegDepositTxCert :: StakeCredential (EraCrypto (ConwayEra c)) -> Coin -> TxCert (ConwayEra c)

getRegDepositTxCert :: TxCert (ConwayEra c) -> Maybe (StakeCredential (EraCrypto (ConwayEra c)), Coin)

mkUnRegDepositTxCert :: StakeCredential (EraCrypto (ConwayEra c)) -> Coin -> TxCert (ConwayEra c)

getUnRegDepositTxCert :: TxCert (ConwayEra c) -> Maybe (StakeCredential (EraCrypto (ConwayEra c)), Coin)

mkDelegTxCert :: StakeCredential (EraCrypto (ConwayEra c)) -> Delegatee (EraCrypto (ConwayEra c)) -> TxCert (ConwayEra c)

getDelegTxCert :: TxCert (ConwayEra c) -> Maybe (StakeCredential (EraCrypto (ConwayEra c)), Delegatee (EraCrypto (ConwayEra c)))

mkRegDepositDelegTxCert :: StakeCredential (EraCrypto (ConwayEra c)) -> Delegatee (EraCrypto (ConwayEra c)) -> Coin -> TxCert (ConwayEra c)

getRegDepositDelegTxCert :: TxCert (ConwayEra c) -> Maybe (StakeCredential (EraCrypto (ConwayEra c)), Delegatee (EraCrypto (ConwayEra c)), Coin)

mkAuthCommitteeHotKeyTxCert :: Credential 'ColdCommitteeRole (EraCrypto (ConwayEra c)) -> Credential 'HotCommitteeRole (EraCrypto (ConwayEra c)) -> TxCert (ConwayEra c)

getAuthCommitteeHotKeyTxCert :: TxCert (ConwayEra c) -> Maybe (Credential 'ColdCommitteeRole (EraCrypto (ConwayEra c)), Credential 'HotCommitteeRole (EraCrypto (ConwayEra c)))

mkResignCommitteeColdTxCert :: Credential 'ColdCommitteeRole (EraCrypto (ConwayEra c)) -> StrictMaybe (Anchor (EraCrypto (ConwayEra c))) -> TxCert (ConwayEra c)

getResignCommitteeColdTxCert :: TxCert (ConwayEra c) -> Maybe (Credential 'ColdCommitteeRole (EraCrypto (ConwayEra c)), StrictMaybe (Anchor (EraCrypto (ConwayEra c))))

mkRegDRepTxCert :: Credential 'DRepRole (EraCrypto (ConwayEra c)) -> Coin -> StrictMaybe (Anchor (EraCrypto (ConwayEra c))) -> TxCert (ConwayEra c)

getRegDRepTxCert :: TxCert (ConwayEra c) -> Maybe (Credential 'DRepRole (EraCrypto (ConwayEra c)), Coin, StrictMaybe (Anchor (EraCrypto (ConwayEra c))))

mkUnRegDRepTxCert :: Credential 'DRepRole (EraCrypto (ConwayEra c)) -> Coin -> TxCert (ConwayEra c)

getUnRegDRepTxCert :: TxCert (ConwayEra c) -> Maybe (Credential 'DRepRole (EraCrypto (ConwayEra c)), Coin)

mkUpdateDRepTxCert :: Credential 'DRepRole (EraCrypto (ConwayEra c)) -> StrictMaybe (Anchor (EraCrypto (ConwayEra c))) -> TxCert (ConwayEra c)

getUpdateDRepTxCert :: TxCert (ConwayEra c) -> Maybe (Credential 'DRepRole (EraCrypto (ConwayEra c)), StrictMaybe (Anchor (EraCrypto (ConwayEra c))))

Crypto c => Era (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

Associated Types

type EraCrypto (ConwayEra c) #

type PreviousEra (ConwayEra c) = (r :: Type)

type ProtVerLow (ConwayEra c) :: Nat

type ProtVerHigh (ConwayEra c) :: Nat

Methods

eraName :: String

Crypto c => GetLedgerView (ConwayEra c) 
Instance details

Defined in Cardano.Protocol.TPraos.API

Methods

currentLedgerView :: NewEpochState (ConwayEra c) -> LedgerView (EraCrypto (ConwayEra c))

futureLedgerView :: MonadError (FutureLedgerViewError (ConwayEra c)) m => Globals -> NewEpochState (ConwayEra c) -> SlotNo -> m (LedgerView (EraCrypto (ConwayEra c)))

CardanoHardForkConstraints c => CanHardFork (CardanoEras c) 
Instance details

Defined in Ouroboros.Consensus.Cardano.CanHardFork

Methods

hardForkEraTranslation :: EraTranslation (CardanoEras c)

hardForkChainSel :: Tails AcrossEraSelection (CardanoEras c)

hardForkInjectTxs :: InPairs (RequiringBoth WrapLedgerConfig (Product2 InjectTx InjectValidatedTx)) (CardanoEras c)

CardanoHardForkConstraints c => CondenseConstraints (CardanoBlock c) 
Instance details

Defined in Ouroboros.Consensus.Cardano.Condense

CardanoHardForkConstraints c => SerialiseHFC (CardanoEras c)

Important: we need to maintain binary compatibility with Byron blocks, as they are already stored on disk.

We also want to be able to efficiently detect (without having to peek far ahead) whether we're dealing with a Byron or Shelley block, so that we can invoke the right decoder. We plan to have a few more hard forks after Shelley (Goguen, Basho, Voltaire), so we want a future-proof envelope for distinguishing the different block types, i.e., a byte indicating the era.

Byron does not provide such an envelope. However, a Byron block is a CBOR 2-tuple with the first element being a tag (Word: 0 = EBB; 1 = regular block) and the second being the payload. We can easily extend this encoding format with support for Shelley, Goguen, etc.

We encode a CardanoBlock as the same CBOR 2-tuple as a Byron block, but we use the tags after 1 for the hard forks after Byron:

  1. Byron EBB
  2. Byron regular block
  3. Shelley block
  4. Allegra block
  5. Mary block
  6. Goguen block
  7. etc.

For more details, see: https://github.com/input-output-hk/ouroboros-network/pull/1175#issuecomment-558147194

Instance details

Defined in Ouroboros.Consensus.Cardano.Node

Methods

encodeDiskHfcBlock :: CodecConfig (HardForkBlock (CardanoEras c)) -> HardForkBlock (CardanoEras c) -> Encoding

decodeDiskHfcBlock :: CodecConfig (HardForkBlock (CardanoEras c)) -> forall s. Decoder s (ByteString -> HardForkBlock (CardanoEras c))

reconstructHfcPrefixLen :: proxy (Header (HardForkBlock (CardanoEras c))) -> PrefixLen

reconstructHfcNestedCtxt :: proxy (Header (HardForkBlock (CardanoEras c))) -> ShortByteString -> SizeInBytes -> SomeSecond (NestedCtxt Header) (HardForkBlock (CardanoEras c))

getHfcBinaryBlockInfo :: HardForkBlock (CardanoEras c) -> BinaryBlockInfo

estimateHfcBlockSize :: Header (HardForkBlock (CardanoEras c)) -> SizeInBytes

CardanoHardForkConstraints c => SupportedNetworkProtocolVersion (CardanoBlock c) 
Instance details

Defined in Ouroboros.Consensus.Cardano.Node

Methods

supportedNodeToNodeVersions :: Proxy (CardanoBlock c) -> Map NodeToNodeVersion (BlockNodeToNodeVersion (CardanoBlock c))

supportedNodeToClientVersions :: Proxy (CardanoBlock c) -> Map NodeToClientVersion (BlockNodeToClientVersion (CardanoBlock c))

latestReleasedNodeVersion :: Proxy (CardanoBlock c) -> (Maybe NodeToNodeVersion, Maybe NodeToClientVersion)

PraosCrypto c => ShelleyBasedEra (ConwayEra c) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

Methods

shelleyBasedEraName :: proxy (ConwayEra c) -> Text Source #

applyShelleyBasedTx :: Globals -> LedgerEnv (ConwayEra c) -> LedgerState (ConwayEra c) -> WhetherToIntervene -> Tx (ConwayEra c) -> Except (ApplyTxError (ConwayEra c)) (LedgerState (ConwayEra c), Validated (Tx (ConwayEra c))) Source #

getProposedProtocolVersion :: PParamsUpdate (ConwayEra c) -> Maybe ProtVer Source #

Crypto c => TranslateEra (ConwayEra c) Tx 
Instance details

Defined in Cardano.Ledger.Conway.Translation

Associated Types

type TranslationError (ConwayEra c) Tx

Methods

translateEra :: TranslationContext (ConwayEra c) -> Tx (PreviousEra (ConwayEra c)) -> Except (TranslationError (ConwayEra c) Tx) (Tx (ConwayEra c))

ShelleyBasedEra (ConwayEra c) => TranslateEra (ConwayEra c) WrapTx 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

Associated Types

type TranslationError (ConwayEra c) WrapTx

Methods

translateEra :: TranslationContext (ConwayEra c) -> WrapTx (PreviousEra (ConwayEra c)) -> Except (TranslationError (ConwayEra c) WrapTx) (WrapTx (ConwayEra c))

PraosCrypto c => ShelleyCompatible (Praos c) (ConwayEra c) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.HFEras

(PraosCrypto c, PraosCrypto c) => ShelleyCompatible (TPraos c) (ConwayEra c) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.HFEras

Crypto c => ToJSON (ConwayPParams Identity (ConwayEra c)) 
Instance details

Defined in Cardano.Ledger.Conway.PParams

Methods

toJSON :: ConwayPParams Identity (ConwayEra c) -> Value

toEncoding :: ConwayPParams Identity (ConwayEra c) -> Encoding

toJSONList :: [ConwayPParams Identity (ConwayEra c)] -> Value

toEncodingList :: [ConwayPParams Identity (ConwayEra c)] -> Encoding

omitField :: ConwayPParams Identity (ConwayEra c) -> Bool

ShelleyCompatible p (ConwayEra c) => TxLimits (ShelleyBlock p (ConwayEra c)) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Associated Types

type TxMeasure (ShelleyBlock p (ConwayEra c))

type EraRule "BBODY" (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type EraRule "BBODY" (ConwayEra c) = AlonzoBBODY (ConwayEra c)
type EraRule "CERT" (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type EraRule "CERT" (ConwayEra c) = ConwayCERT (ConwayEra c)
type EraRule "CERTS" (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type EraRule "CERTS" (ConwayEra c) = ConwayCERTS (ConwayEra c)
type EraRule "DELEG" (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type EraRule "DELEG" (ConwayEra c) = ConwayDELEG (ConwayEra c)
type EraRule "ENACT" (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type EraRule "ENACT" (ConwayEra c) = ConwayENACT (ConwayEra c)
type EraRule "EPOCH" (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type EraRule "EPOCH" (ConwayEra c) = ConwayEPOCH (ConwayEra c)
type EraRule "GOV" (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type EraRule "GOV" (ConwayEra c) = ConwayGOV (ConwayEra c)
type EraRule "GOVCERT" (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type EraRule "GOVCERT" (ConwayEra c) = ConwayGOVCERT (ConwayEra c)
type EraRule "LEDGER" (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type EraRule "LEDGER" (ConwayEra c) = ConwayLEDGER (ConwayEra c)
type EraRule "LEDGERS" (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type EraRule "LEDGERS" (ConwayEra c) = ShelleyLEDGERS (ConwayEra c)
type EraRule "NEWEPOCH" (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type EraRule "NEWEPOCH" (ConwayEra c) = ConwayNEWEPOCH (ConwayEra c)
type EraRule "POOL" (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type EraRule "POOL" (ConwayEra c) = ConwayPOOL (ConwayEra c)
type EraRule "POOLREAP" (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type EraRule "POOLREAP" (ConwayEra c) = ShelleyPOOLREAP (ConwayEra c)
type EraRule "RATIFY" (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type EraRule "RATIFY" (ConwayEra c) = ConwayRATIFY (ConwayEra c)
type EraRule "RUPD" (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type EraRule "RUPD" (ConwayEra c) = ShelleyRUPD (ConwayEra c)
type EraRule "SNAP" (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type EraRule "SNAP" (ConwayEra c) = ShelleySNAP (ConwayEra c)
type EraRule "TICK" (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type EraRule "TICK" (ConwayEra c) = ShelleyTICK (ConwayEra c)
type EraRule "TICKF" (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type EraRule "TICKF" (ConwayEra c) = ConwayTICKF (ConwayEra c)
type EraRule "UTXO" (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type EraRule "UTXO" (ConwayEra c) = BabbageUTXO (ConwayEra c)
type EraRule "UTXOS" (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type EraRule "UTXOS" (ConwayEra c) = ConwayUTXOS (ConwayEra c)
type EraRule "UTXOW" (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type EraRule "UTXOW" (ConwayEra c) = ConwayUTXOW (ConwayEra c)
type DowngradePParams f (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.PParams

type DowngradePParams f (ConwayEra c) = ()
type PParamsHKD f (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.PParams

type PParamsHKD f (ConwayEra c) = ConwayPParams f (ConwayEra c)
type UpgradePParams f (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.PParams

type UpgradePParams f (ConwayEra c) = UpgradeConwayPParams f
type Rep (TransitionConfig (ConwayEra c)) 
Instance details

Defined in Cardano.Ledger.Conway.Transition

type Rep (TransitionConfig (ConwayEra c)) = D1 ('MetaData "TransitionConfig" "Cardano.Ledger.Conway.Transition" "cardano-ledger-conway-1.11.0.0-F8O0FoT5ogwExxzG99IW1C" 'False) (C1 ('MetaCons "ConwayTransitionConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "ctcConwayGenesis") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ConwayGenesis c)) :*: S1 ('MetaSel ('Just "ctcBabbageTransitionConfig") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (TransitionConfig (BabbageEra c)))))
type NativeScript (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Scripts

type NativeScript (ConwayEra c) = Timelock (ConwayEra c)
type Script (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Scripts

type Script (ConwayEra c) = AlonzoScript (ConwayEra c)
type Tx (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Tx

type Tx (ConwayEra c) = AlonzoTx (ConwayEra c)
type TxAuxData (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.TxAuxData

type TxAuxData (ConwayEra c) = AlonzoTxAuxData (ConwayEra c)
type TxBody (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.TxBody

type TxBody (ConwayEra c) = ConwayTxBody (ConwayEra c)
type TxBodyUpgradeError (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.TxBody

type TxBodyUpgradeError (ConwayEra c) = ConwayTxBodyUpgradeError
type TxOut (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.TxOut

type TxOut (ConwayEra c) = BabbageTxOut (ConwayEra c)
type TxSeq (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Tx

type TxSeq (ConwayEra c) = AlonzoTxSeq (ConwayEra c)
type TxUpgradeError (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Tx

type TxUpgradeError (ConwayEra c) = TxBodyUpgradeError (ConwayEra c)
type TxWits (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.TxWits

type TxWits (ConwayEra c) = AlonzoTxWits (ConwayEra c)
type Value (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type Value (ConwayEra c) = MaryValue c
type EraCrypto (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type EraCrypto (ConwayEra c) = c
type PreviousEra (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type PreviousEra (ConwayEra c) = BabbageEra c
type ProtVerHigh (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type ProtVerHigh (ConwayEra c) = ProtVerLow (ConwayEra c)
type ProtVerLow (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type ProtVerLow (ConwayEra c) = 9
type TranslationContext (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Translation

type TranslationContext (ConwayEra c) = ConwayGenesis c
type TxCert (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.TxCert

type TxCert (ConwayEra c) = ConwayTxCert (ConwayEra c)
type TxCertUpgradeError (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.TxCert

type TxCertUpgradeError (ConwayEra c) = ConwayTxCertUpgradeError
type ScriptsNeeded (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.UTxO

type ScriptsNeeded (ConwayEra c) = AlonzoScriptsNeeded (ConwayEra c)
type AdditionalGenesisConfig (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway

type AdditionalGenesisConfig (ConwayEra c) = ConwayGenesis c
type GovState (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Governance

type GovState (ConwayEra c) = ConwayGovState (ConwayEra c)
data TransitionConfig (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Transition

data TransitionConfig (ConwayEra c) = ConwayTransitionConfig {}
data ProtocolParams (CardanoBlock c) Source #

Parameters needed to run Cardano.

Instance details

Defined in Ouroboros.Consensus.Cardano.Node

type TranslationError (ConwayEra c) Tx 
Instance details

Defined in Cardano.Ledger.Conway.Translation

type TranslationError (ConwayEra c) Tx = DecoderError
type TranslationError (ConwayEra c) CertState 
Instance details

Defined in Cardano.Ledger.Conway.Translation

type TranslationError (ConwayEra c) CertState = Void
type TranslationError (ConwayEra c) CommitteeState 
Instance details

Defined in Cardano.Ledger.Conway.Translation

type TranslationError (ConwayEra c) CommitteeState = Void
type TranslationError (ConwayEra c) DState 
Instance details

Defined in Cardano.Ledger.Conway.Translation

type TranslationError (ConwayEra c) DState = Void
type TranslationError (ConwayEra c) PState 
Instance details

Defined in Cardano.Ledger.Conway.Translation

type TranslationError (ConwayEra c) PState = Void
type TranslationError (ConwayEra c) VState 
Instance details

Defined in Cardano.Ledger.Conway.Translation

type TranslationError (ConwayEra c) VState = Void
type TranslationError (ConwayEra c) PParams 
Instance details

Defined in Cardano.Ledger.Conway.Translation

type TranslationError (ConwayEra c) PParams = Void
type TranslationError (ConwayEra c) UTxO 
Instance details

Defined in Cardano.Ledger.Conway.Translation

type TranslationError (ConwayEra c) UTxO = Void
type TranslationError (ConwayEra c) EpochState 
Instance details

Defined in Cardano.Ledger.Conway.Translation

type TranslationError (ConwayEra c) EpochState = Void
type TranslationError (ConwayEra c) LedgerState 
Instance details

Defined in Cardano.Ledger.Conway.Translation

type TranslationError (ConwayEra c) LedgerState = Void
type TranslationError (ConwayEra c) NewEpochState 
Instance details

Defined in Cardano.Ledger.Conway.Translation

type TranslationError (ConwayEra c) NewEpochState = Void
type TranslationError (ConwayEra c) UTxOState 
Instance details

Defined in Cardano.Ledger.Conway.Translation

type TranslationError (ConwayEra c) UTxOState = Void
type TranslationError (ConwayEra c) WrapTx 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

type TranslationError (ConwayEra c) WrapTx = TranslationError (ConwayEra c) Tx
type TxMeasure (ShelleyBlock p (ConwayEra c)) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type TxMeasure (ShelleyBlock p (ConwayEra c)) = AlonzoMeasure
data ProtocolParams (ShelleyBlock (Praos c) (ConwayEra c)) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Praos

data MaryEra era #

Instances

Instances details
Crypto c => Era (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

Associated Types

type EraCrypto (MaryEra c) #

type PreviousEra (MaryEra c) = (r :: Type)

type ProtVerLow (MaryEra c) :: Nat

type ProtVerHigh (MaryEra c) :: Nat

Methods

eraName :: String

Crypto c => GetLedgerView (MaryEra c) 
Instance details

Defined in Cardano.Protocol.TPraos.API

Methods

currentLedgerView :: NewEpochState (MaryEra c) -> LedgerView (EraCrypto (MaryEra c))

futureLedgerView :: MonadError (FutureLedgerViewError (MaryEra c)) m => Globals -> NewEpochState (MaryEra c) -> SlotNo -> m (LedgerView (EraCrypto (MaryEra c)))

CardanoHardForkConstraints c => CanHardFork (CardanoEras c) 
Instance details

Defined in Ouroboros.Consensus.Cardano.CanHardFork

Methods

hardForkEraTranslation :: EraTranslation (CardanoEras c)

hardForkChainSel :: Tails AcrossEraSelection (CardanoEras c)

hardForkInjectTxs :: InPairs (RequiringBoth WrapLedgerConfig (Product2 InjectTx InjectValidatedTx)) (CardanoEras c)

CardanoHardForkConstraints c => CondenseConstraints (CardanoBlock c) 
Instance details

Defined in Ouroboros.Consensus.Cardano.Condense

CardanoHardForkConstraints c => SerialiseHFC (CardanoEras c)

Important: we need to maintain binary compatibility with Byron blocks, as they are already stored on disk.

We also want to be able to efficiently detect (without having to peek far ahead) whether we're dealing with a Byron or Shelley block, so that we can invoke the right decoder. We plan to have a few more hard forks after Shelley (Goguen, Basho, Voltaire), so we want a future-proof envelope for distinguishing the different block types, i.e., a byte indicating the era.

Byron does not provide such an envelope. However, a Byron block is a CBOR 2-tuple with the first element being a tag (Word: 0 = EBB; 1 = regular block) and the second being the payload. We can easily extend this encoding format with support for Shelley, Goguen, etc.

We encode a CardanoBlock as the same CBOR 2-tuple as a Byron block, but we use the tags after 1 for the hard forks after Byron:

  1. Byron EBB
  2. Byron regular block
  3. Shelley block
  4. Allegra block
  5. Mary block
  6. Goguen block
  7. etc.

For more details, see: https://github.com/input-output-hk/ouroboros-network/pull/1175#issuecomment-558147194

Instance details

Defined in Ouroboros.Consensus.Cardano.Node

Methods

encodeDiskHfcBlock :: CodecConfig (HardForkBlock (CardanoEras c)) -> HardForkBlock (CardanoEras c) -> Encoding

decodeDiskHfcBlock :: CodecConfig (HardForkBlock (CardanoEras c)) -> forall s. Decoder s (ByteString -> HardForkBlock (CardanoEras c))

reconstructHfcPrefixLen :: proxy (Header (HardForkBlock (CardanoEras c))) -> PrefixLen

reconstructHfcNestedCtxt :: proxy (Header (HardForkBlock (CardanoEras c))) -> ShortByteString -> SizeInBytes -> SomeSecond (NestedCtxt Header) (HardForkBlock (CardanoEras c))

getHfcBinaryBlockInfo :: HardForkBlock (CardanoEras c) -> BinaryBlockInfo

estimateHfcBlockSize :: Header (HardForkBlock (CardanoEras c)) -> SizeInBytes

CardanoHardForkConstraints c => SupportedNetworkProtocolVersion (CardanoBlock c) 
Instance details

Defined in Ouroboros.Consensus.Cardano.Node

Methods

supportedNodeToNodeVersions :: Proxy (CardanoBlock c) -> Map NodeToNodeVersion (BlockNodeToNodeVersion (CardanoBlock c))

supportedNodeToClientVersions :: Proxy (CardanoBlock c) -> Map NodeToClientVersion (BlockNodeToClientVersion (CardanoBlock c))

latestReleasedNodeVersion :: Proxy (CardanoBlock c) -> (Maybe NodeToNodeVersion, Maybe NodeToClientVersion)

(PraosCrypto c, DSignable c (Hash c EraIndependentTxBody)) => ShelleyBasedEra (MaryEra c) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

Methods

shelleyBasedEraName :: proxy (MaryEra c) -> Text Source #

applyShelleyBasedTx :: Globals -> LedgerEnv (MaryEra c) -> LedgerState (MaryEra c) -> WhetherToIntervene -> Tx (MaryEra c) -> Except (ApplyTxError (MaryEra c)) (LedgerState (MaryEra c), Validated (Tx (MaryEra c))) Source #

getProposedProtocolVersion :: PParamsUpdate (MaryEra c) -> Maybe ProtVer Source #

ShelleyBasedEra (MaryEra c) => TranslateEra (MaryEra c) WrapTx 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

Associated Types

type TranslationError (MaryEra c) WrapTx

Methods

translateEra :: TranslationContext (MaryEra c) -> WrapTx (PreviousEra (MaryEra c)) -> Except (TranslationError (MaryEra c) WrapTx) (WrapTx (MaryEra c))

(PraosCrypto c, Signable (DSIGN c) (Hash (HASH c) EraIndependentTxBody)) => ShelleyCompatible (TPraos c) (MaryEra c) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.HFEras

ShelleyCompatible p (MaryEra c) => TxLimits (ShelleyBlock p (MaryEra c)) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Associated Types

type TxMeasure (ShelleyBlock p (MaryEra c))

type EraRule "BBODY" (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type EraRule "BBODY" (MaryEra c) = ShelleyBBODY (MaryEra c)
type EraRule "DELEG" (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type EraRule "DELEG" (MaryEra c) = ShelleyDELEG (MaryEra c)
type EraRule "DELEGS" (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type EraRule "DELEGS" (MaryEra c) = ShelleyDELEGS (MaryEra c)
type EraRule "DELPL" (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type EraRule "DELPL" (MaryEra c) = ShelleyDELPL (MaryEra c)
type EraRule "EPOCH" (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type EraRule "EPOCH" (MaryEra c) = ShelleyEPOCH (MaryEra c)
type EraRule "LEDGER" (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type EraRule "LEDGER" (MaryEra c) = ShelleyLEDGER (MaryEra c)
type EraRule "LEDGERS" (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type EraRule "LEDGERS" (MaryEra c) = ShelleyLEDGERS (MaryEra c)
type EraRule "MIR" (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type EraRule "MIR" (MaryEra c) = ShelleyMIR (MaryEra c)
type EraRule "NEWEPOCH" (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type EraRule "NEWEPOCH" (MaryEra c) = ShelleyNEWEPOCH (MaryEra c)
type EraRule "NEWPP" (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type EraRule "NEWPP" (MaryEra c) = ShelleyNEWPP (MaryEra c)
type EraRule "POOL" (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type EraRule "POOL" (MaryEra c) = ShelleyPOOL (MaryEra c)
type EraRule "POOLREAP" (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type EraRule "POOLREAP" (MaryEra c) = ShelleyPOOLREAP (MaryEra c)
type EraRule "PPUP" (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type EraRule "PPUP" (MaryEra c) = ShelleyPPUP (MaryEra c)
type EraRule "RUPD" (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type EraRule "RUPD" (MaryEra c) = ShelleyRUPD (MaryEra c)
type EraRule "SNAP" (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type EraRule "SNAP" (MaryEra c) = ShelleySNAP (MaryEra c)
type EraRule "TICK" (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type EraRule "TICK" (MaryEra c) = ShelleyTICK (MaryEra c)
type EraRule "TICKF" (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type EraRule "TICKF" (MaryEra c) = ShelleyTICKF (MaryEra c)
type EraRule "UPEC" (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type EraRule "UPEC" (MaryEra c) = ShelleyUPEC (MaryEra c)
type EraRule "UTXO" (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type EraRule "UTXO" (MaryEra c) = AllegraUTXO (MaryEra c)
type EraRule "UTXOW" (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type EraRule "UTXOW" (MaryEra c) = AllegraUTXOW (MaryEra c)
type DowngradePParams f (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.PParams

type DowngradePParams f (MaryEra c) = ()
type PParamsHKD f (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.PParams

type PParamsHKD f (MaryEra c) = ShelleyPParams f (MaryEra c)
type UpgradePParams f (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.PParams

type UpgradePParams f (MaryEra c) = ()
type NativeScript (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Scripts

type NativeScript (MaryEra c) = Timelock (MaryEra c)
type Script (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Scripts

type Script (MaryEra c) = Timelock (MaryEra c)
type Tx (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Tx

type Tx (MaryEra c) = ShelleyTx (MaryEra c)
type TxAuxData (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.TxAuxData

type TxAuxData (MaryEra c) = AllegraTxAuxData (MaryEra c)
type TxBody (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.TxBody

type TxBody (MaryEra c) = MaryTxBody (MaryEra c)
type TxBodyUpgradeError (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.TxBody

type TxBodyUpgradeError (MaryEra c) = Void
type TxOut (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.TxOut

type TxOut (MaryEra c) = ShelleyTxOut (MaryEra c)
type TxSeq (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.TxSeq

type TxSeq (MaryEra c) = ShelleyTxSeq (MaryEra c)
type TxUpgradeError (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Tx

type TxUpgradeError (MaryEra c) = Void
type TxWits (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.TxWits

type TxWits (MaryEra c) = ShelleyTxWits (MaryEra c)
type Value (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type Value (MaryEra c) = MaryValue c
type EraCrypto (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type EraCrypto (MaryEra c) = c
type PreviousEra (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type PreviousEra (MaryEra c) = AllegraEra c
type ProtVerHigh (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type ProtVerHigh (MaryEra c) = ProtVerLow (MaryEra c)
type ProtVerLow (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type ProtVerLow (MaryEra c) = 4
type TranslationContext (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type TranslationContext (MaryEra c) = ()
type TxCert (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.TxCert

type TxCert (MaryEra c) = ShelleyTxCert (MaryEra c)
type TxCertUpgradeError (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.TxCert

type TxCertUpgradeError (MaryEra c) = Void
type ScriptsNeeded (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.UTxO

type ScriptsNeeded (MaryEra c) = ShelleyScriptsNeeded (MaryEra c)
type AdditionalGenesisConfig (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary

type AdditionalGenesisConfig (MaryEra c) = ()
type GovState (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.PParams

type GovState (MaryEra c) = ShelleyGovState (MaryEra c)
newtype TransitionConfig (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Transition

newtype TransitionConfig (MaryEra c) = MaryTransitionConfig {}
data ProtocolParams (CardanoBlock c) Source #

Parameters needed to run Cardano.

Instance details

Defined in Ouroboros.Consensus.Cardano.Node

type TranslationError (MaryEra c) Timelock 
Instance details

Defined in Cardano.Ledger.Mary.Translation

type TranslationError (MaryEra c) Timelock = Void
type TranslationError (MaryEra c) AllegraTxAuxData 
Instance details

Defined in Cardano.Ledger.Mary.Translation

type TranslationError (MaryEra c) AllegraTxAuxData = Void
type TranslationError (MaryEra c) CertState 
Instance details

Defined in Cardano.Ledger.Mary.Translation

type TranslationError (MaryEra c) CertState = Void
type TranslationError (MaryEra c) CommitteeState 
Instance details

Defined in Cardano.Ledger.Mary.Translation

type TranslationError (MaryEra c) CommitteeState = Void
type TranslationError (MaryEra c) DState 
Instance details

Defined in Cardano.Ledger.Mary.Translation

type TranslationError (MaryEra c) DState = Void
type TranslationError (MaryEra c) PState 
Instance details

Defined in Cardano.Ledger.Mary.Translation

type TranslationError (MaryEra c) PState = Void
type TranslationError (MaryEra c) VState 
Instance details

Defined in Cardano.Ledger.Mary.Translation

type TranslationError (MaryEra c) VState = Void
type TranslationError (MaryEra c) PParams 
Instance details

Defined in Cardano.Ledger.Mary.Translation

type TranslationError (MaryEra c) PParams = Void
type TranslationError (MaryEra c) PParamsUpdate 
Instance details

Defined in Cardano.Ledger.Mary.Translation

type TranslationError (MaryEra c) PParamsUpdate = Void
type TranslationError (MaryEra c) UTxO 
Instance details

Defined in Cardano.Ledger.Mary.Translation

type TranslationError (MaryEra c) UTxO = Void
type TranslationError (MaryEra c) ShelleyGovState 
Instance details

Defined in Cardano.Ledger.Mary.Translation

type TranslationError (MaryEra c) ShelleyGovState = Void
type TranslationError (MaryEra c) EpochState 
Instance details

Defined in Cardano.Ledger.Mary.Translation

type TranslationError (MaryEra c) EpochState = Void
type TranslationError (MaryEra c) LedgerState 
Instance details

Defined in Cardano.Ledger.Mary.Translation

type TranslationError (MaryEra c) LedgerState = Void
type TranslationError (MaryEra c) NewEpochState 
Instance details

Defined in Cardano.Ledger.Mary.Translation

type TranslationError (MaryEra c) NewEpochState = Void
type TranslationError (MaryEra c) UTxOState 
Instance details

Defined in Cardano.Ledger.Mary.Translation

type TranslationError (MaryEra c) UTxOState = Void
type TranslationError (MaryEra c) ProposedPPUpdates 
Instance details

Defined in Cardano.Ledger.Mary.Translation

type TranslationError (MaryEra c) ProposedPPUpdates = Void
type TranslationError (MaryEra c) Update 
Instance details

Defined in Cardano.Ledger.Mary.Translation

type TranslationError (MaryEra c) Update = Void
type TranslationError (MaryEra c) ShelleyTx 
Instance details

Defined in Cardano.Ledger.Mary.Translation

type TranslationError (MaryEra c) ShelleyTx = DecoderError
type TranslationError (MaryEra c) ShelleyTxOut 
Instance details

Defined in Cardano.Ledger.Mary.Translation

type TranslationError (MaryEra c) ShelleyTxOut = Void
type TranslationError (MaryEra c) ShelleyTxWits 
Instance details

Defined in Cardano.Ledger.Mary.Translation

type TranslationError (MaryEra c) ShelleyTxWits = DecoderError
type TranslationError (MaryEra c) WrapTx 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

type TranslationError (MaryEra c) WrapTx = TranslationError (MaryEra c) ShelleyTx
type TxMeasure (ShelleyBlock p (MaryEra c)) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type TxMeasure (ShelleyBlock p (MaryEra c)) = ByteSize
data ProtocolParams (ShelleyBlock (TPraos c) (MaryEra c)) Source #

Parameters needed to run Mary

Instance details

Defined in Ouroboros.Consensus.Shelley.Node.TPraos

data ShelleyEra c #

Instances

Instances details
Crypto c => FromJSON (TransitionConfig (ShelleyEra c)) 
Instance details

Defined in Cardano.Ledger.Shelley.Transition

Methods

parseJSON :: Value -> Parser (TransitionConfig (ShelleyEra c))

parseJSONList :: Value -> Parser [TransitionConfig (ShelleyEra c)]

omittedField :: Maybe (TransitionConfig (ShelleyEra c))

Crypto c => ToJSON (TransitionConfig (ShelleyEra c)) 
Instance details

Defined in Cardano.Ledger.Shelley.Transition

Methods

toJSON :: TransitionConfig (ShelleyEra c) -> Value

toEncoding :: TransitionConfig (ShelleyEra c) -> Encoding

toJSONList :: [TransitionConfig (ShelleyEra c)] -> Value

toEncodingList :: [TransitionConfig (ShelleyEra c)] -> Encoding

omitField :: TransitionConfig (ShelleyEra c) -> Bool

Generic (TransitionConfig (ShelleyEra c)) 
Instance details

Defined in Cardano.Ledger.Shelley.Transition

Associated Types

type Rep (TransitionConfig (ShelleyEra c)) :: Type -> Type Source #

Methods

from :: TransitionConfig (ShelleyEra c) -> Rep (TransitionConfig (ShelleyEra c)) x Source #

to :: Rep (TransitionConfig (ShelleyEra c)) x -> TransitionConfig (ShelleyEra c) Source #

Crypto c => Show (TransitionConfig (ShelleyEra c)) 
Instance details

Defined in Cardano.Ledger.Shelley.Transition

Methods

showsPrec :: Int -> TransitionConfig (ShelleyEra c) -> ShowS Source #

show :: TransitionConfig (ShelleyEra c) -> String Source #

showList :: [TransitionConfig (ShelleyEra c)] -> ShowS Source #

Crypto c => Era (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

Associated Types

type EraCrypto (ShelleyEra c) #

type PreviousEra (ShelleyEra c) = (r :: Type)

type ProtVerLow (ShelleyEra c) :: Nat

type ProtVerHigh (ShelleyEra c) :: Nat

Methods

eraName :: String

Crypto c => CanStartFromGenesis (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.API.Genesis

Associated Types

type AdditionalGenesisConfig (ShelleyEra c)

Methods

fromShelleyPParams :: AdditionalGenesisConfig (ShelleyEra c) -> PParams (ShelleyEra (EraCrypto (ShelleyEra c))) -> PParams (ShelleyEra c)

initialState :: ShelleyGenesis (EraCrypto (ShelleyEra c)) -> AdditionalGenesisConfig (ShelleyEra c) -> NewEpochState (ShelleyEra c)

(EraPParams (ShelleyEra c), DSignable c (Hash c EraIndependentTxBody)) => ApplyTx (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.API.Mempool

Methods

applyTx :: MonadError (ApplyTxError (ShelleyEra c)) m => Globals -> MempoolEnv (ShelleyEra c) -> MempoolState (ShelleyEra c) -> Tx (ShelleyEra c) -> m (MempoolState (ShelleyEra c), Validated (Tx (ShelleyEra c)))

reapplyTx :: MonadError (ApplyTxError (ShelleyEra c)) m => Globals -> MempoolEnv (ShelleyEra c) -> MempoolState (ShelleyEra c) -> Validated (Tx (ShelleyEra c)) -> m (MempoolState (ShelleyEra c))

(Crypto c, DSignable c (Hash c EraIndependentTxBody)) => ApplyBlock (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.API.Validation

Methods

applyTickOpts :: forall (ep :: EventPolicy). ApplySTSOpts ep -> Globals -> NewEpochState (ShelleyEra c) -> SlotNo -> EventReturnType ep (EraRule "TICK" (ShelleyEra c)) (NewEpochState (ShelleyEra c))

applyBlockOpts :: forall (ep :: EventPolicy) m. (EventReturnTypeRep ep, MonadError (BlockTransitionError (ShelleyEra c)) m) => ApplySTSOpts ep -> Globals -> NewEpochState (ShelleyEra c) -> Block (BHeaderView (EraCrypto (ShelleyEra c))) (ShelleyEra c) -> m (EventReturnType ep (EraRule "BBODY" (ShelleyEra c)) (NewEpochState (ShelleyEra c)))

reapplyBlock :: Globals -> NewEpochState (ShelleyEra c) -> Block (BHeaderView (EraCrypto (ShelleyEra c))) (ShelleyEra c) -> NewEpochState (ShelleyEra c)

Crypto c => EraGov (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Governance

Associated Types

type GovState (ShelleyEra c) = (r :: Type)

Methods

emptyGovState :: GovState (ShelleyEra c)

getProposedPPUpdates :: GovState (ShelleyEra c) -> Maybe (ProposedPPUpdates (ShelleyEra c))

getConstitution :: GovState (ShelleyEra c) -> Maybe (Constitution (ShelleyEra c))

getCommitteeMembers :: GovState (ShelleyEra c) -> Maybe (Map (Credential 'ColdCommitteeRole (EraCrypto (ShelleyEra c))) EpochNo, UnitInterval)

curPParamsGovStateL :: Lens' (GovState (ShelleyEra c)) (PParams (ShelleyEra c))

prevPParamsGovStateL :: Lens' (GovState (ShelleyEra c)) (PParams (ShelleyEra c))

obligationGovState :: GovState (ShelleyEra c) -> Obligations

getDRepDistr :: GovState (ShelleyEra c) -> Map (DRep (EraCrypto (ShelleyEra c))) (CompactForm Coin)

Crypto c => EraTransition (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Transition

Associated Types

data TransitionConfig (ShelleyEra c)

Methods

mkTransitionConfig :: TranslationContext (ShelleyEra c) -> TransitionConfig (PreviousEra (ShelleyEra c)) -> TransitionConfig (ShelleyEra c)

tcPreviousEraConfigL :: Lens' (TransitionConfig (ShelleyEra c)) (TransitionConfig (PreviousEra (ShelleyEra c)))

tcTranslationContextL :: Lens' (TransitionConfig (ShelleyEra c)) (TranslationContext (ShelleyEra c))

tcShelleyGenesisL :: Lens' (TransitionConfig (ShelleyEra c)) (ShelleyGenesis (EraCrypto (ShelleyEra c)))

tcInitialPParamsG :: SimpleGetter (TransitionConfig (ShelleyEra c)) (PParams (ShelleyEra c))

Crypto c => ShelleyEraTxCert (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.TxCert

Methods

mkRegTxCert :: StakeCredential (EraCrypto (ShelleyEra c)) -> TxCert (ShelleyEra c)

getRegTxCert :: TxCert (ShelleyEra c) -> Maybe (StakeCredential (EraCrypto (ShelleyEra c)))

mkUnRegTxCert :: StakeCredential (EraCrypto (ShelleyEra c)) -> TxCert (ShelleyEra c)

getUnRegTxCert :: TxCert (ShelleyEra c) -> Maybe (StakeCredential (EraCrypto (ShelleyEra c)))

mkDelegStakeTxCert :: StakeCredential (EraCrypto (ShelleyEra c)) -> KeyHash 'StakePool (EraCrypto (ShelleyEra c)) -> TxCert (ShelleyEra c)

getDelegStakeTxCert :: TxCert (ShelleyEra c) -> Maybe (StakeCredential (EraCrypto (ShelleyEra c)), KeyHash 'StakePool (EraCrypto (ShelleyEra c)))

mkGenesisDelegTxCert :: GenesisDelegCert (EraCrypto (ShelleyEra c)) -> TxCert (ShelleyEra c)

getGenesisDelegTxCert :: TxCert (ShelleyEra c) -> Maybe (GenesisDelegCert (EraCrypto (ShelleyEra c)))

mkMirTxCert :: MIRCert (EraCrypto (ShelleyEra c)) -> TxCert (ShelleyEra c)

getMirTxCert :: TxCert (ShelleyEra c) -> Maybe (MIRCert (EraCrypto (ShelleyEra c)))

Crypto c => GetLedgerView (ShelleyEra c) 
Instance details

Defined in Cardano.Protocol.TPraos.API

Methods

currentLedgerView :: NewEpochState (ShelleyEra c) -> LedgerView (EraCrypto (ShelleyEra c))

futureLedgerView :: MonadError (FutureLedgerViewError (ShelleyEra c)) m => Globals -> NewEpochState (ShelleyEra c) -> SlotNo -> m (LedgerView (EraCrypto (ShelleyEra c)))

Crypto c => Eq (TransitionConfig (ShelleyEra c)) 
Instance details

Defined in Cardano.Ledger.Shelley.Transition

Methods

(==) :: TransitionConfig (ShelleyEra c) -> TransitionConfig (ShelleyEra c) -> Bool Source #

(/=) :: TransitionConfig (ShelleyEra c) -> TransitionConfig (ShelleyEra c) -> Bool Source #

Crypto c => NoThunks (TransitionConfig (ShelleyEra c)) 
Instance details

Defined in Cardano.Ledger.Shelley.Transition

Methods

noThunks :: Context -> TransitionConfig (ShelleyEra c) -> IO (Maybe ThunkInfo)

wNoThunks :: Context -> TransitionConfig (ShelleyEra c) -> IO (Maybe ThunkInfo)

showTypeOf :: Proxy (TransitionConfig (ShelleyEra c)) -> String

CardanoHardForkConstraints c => CanHardFork (CardanoEras c) 
Instance details

Defined in Ouroboros.Consensus.Cardano.CanHardFork

Methods

hardForkEraTranslation :: EraTranslation (CardanoEras c)

hardForkChainSel :: Tails AcrossEraSelection (CardanoEras c)

hardForkInjectTxs :: InPairs (RequiringBoth WrapLedgerConfig (Product2 InjectTx InjectValidatedTx)) (CardanoEras c)

CardanoHardForkConstraints c => CondenseConstraints (CardanoBlock c) 
Instance details

Defined in Ouroboros.Consensus.Cardano.Condense

CardanoHardForkConstraints c => SerialiseHFC (CardanoEras c)

Important: we need to maintain binary compatibility with Byron blocks, as they are already stored on disk.

We also want to be able to efficiently detect (without having to peek far ahead) whether we're dealing with a Byron or Shelley block, so that we can invoke the right decoder. We plan to have a few more hard forks after Shelley (Goguen, Basho, Voltaire), so we want a future-proof envelope for distinguishing the different block types, i.e., a byte indicating the era.

Byron does not provide such an envelope. However, a Byron block is a CBOR 2-tuple with the first element being a tag (Word: 0 = EBB; 1 = regular block) and the second being the payload. We can easily extend this encoding format with support for Shelley, Goguen, etc.

We encode a CardanoBlock as the same CBOR 2-tuple as a Byron block, but we use the tags after 1 for the hard forks after Byron:

  1. Byron EBB
  2. Byron regular block
  3. Shelley block
  4. Allegra block
  5. Mary block
  6. Goguen block
  7. etc.

For more details, see: https://github.com/input-output-hk/ouroboros-network/pull/1175#issuecomment-558147194

Instance details

Defined in Ouroboros.Consensus.Cardano.Node

Methods

encodeDiskHfcBlock :: CodecConfig (HardForkBlock (CardanoEras c)) -> HardForkBlock (CardanoEras c) -> Encoding

decodeDiskHfcBlock :: CodecConfig (HardForkBlock (CardanoEras c)) -> forall s. Decoder s (ByteString -> HardForkBlock (CardanoEras c))

reconstructHfcPrefixLen :: proxy (Header (HardForkBlock (CardanoEras c))) -> PrefixLen

reconstructHfcNestedCtxt :: proxy (Header (HardForkBlock (CardanoEras c))) -> ShortByteString -> SizeInBytes -> SomeSecond (NestedCtxt Header) (HardForkBlock (CardanoEras c))

getHfcBinaryBlockInfo :: HardForkBlock (CardanoEras c) -> BinaryBlockInfo

estimateHfcBlockSize :: Header (HardForkBlock (CardanoEras c)) -> SizeInBytes

CardanoHardForkConstraints c => SupportedNetworkProtocolVersion (CardanoBlock c) 
Instance details

Defined in Ouroboros.Consensus.Cardano.Node

Methods

supportedNodeToNodeVersions :: Proxy (CardanoBlock c) -> Map NodeToNodeVersion (BlockNodeToNodeVersion (CardanoBlock c))

supportedNodeToClientVersions :: Proxy (CardanoBlock c) -> Map NodeToClientVersion (BlockNodeToClientVersion (CardanoBlock c))

latestReleasedNodeVersion :: Proxy (CardanoBlock c) -> (Maybe NodeToNodeVersion, Maybe NodeToClientVersion)

(PraosCrypto c, DSignable c (Hash c EraIndependentTxBody)) => ShelleyBasedEra (ShelleyEra c) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

Methods

shelleyBasedEraName :: proxy (ShelleyEra c) -> Text Source #

applyShelleyBasedTx :: Globals -> LedgerEnv (ShelleyEra c) -> LedgerState (ShelleyEra c) -> WhetherToIntervene -> Tx (ShelleyEra c) -> Except (ApplyTxError (ShelleyEra c)) (LedgerState (ShelleyEra c), Validated (Tx (ShelleyEra c))) Source #

getProposedProtocolVersion :: PParamsUpdate (ShelleyEra c) -> Maybe ProtVer Source #

(PraosCrypto c, Signable (DSIGN c) (Hash (HASH c) EraIndependentTxBody)) => ShelleyCompatible (TPraos c) (ShelleyEra c) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.HFEras

ShelleyCompatible p (ShelleyEra c) => TxLimits (ShelleyBlock p (ShelleyEra c)) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Associated Types

type TxMeasure (ShelleyBlock p (ShelleyEra c))

type EraRule "BBODY" (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type EraRule "BBODY" (ShelleyEra c) = ShelleyBBODY (ShelleyEra c)
type EraRule "DELEG" (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type EraRule "DELEG" (ShelleyEra c) = ShelleyDELEG (ShelleyEra c)
type EraRule "DELEGS" (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type EraRule "DELEGS" (ShelleyEra c) = ShelleyDELEGS (ShelleyEra c)
type EraRule "DELPL" (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type EraRule "DELPL" (ShelleyEra c) = ShelleyDELPL (ShelleyEra c)
type EraRule "EPOCH" (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type EraRule "EPOCH" (ShelleyEra c) = ShelleyEPOCH (ShelleyEra c)
type EraRule "LEDGER" (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type EraRule "LEDGER" (ShelleyEra c) = ShelleyLEDGER (ShelleyEra c)
type EraRule "LEDGERS" (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type EraRule "LEDGERS" (ShelleyEra c) = ShelleyLEDGERS (ShelleyEra c)
type EraRule "MIR" (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type EraRule "MIR" (ShelleyEra c) = ShelleyMIR (ShelleyEra c)
type EraRule "NEWEPOCH" (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type EraRule "NEWEPOCH" (ShelleyEra c) = ShelleyNEWEPOCH (ShelleyEra c)
type EraRule "NEWPP" (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type EraRule "NEWPP" (ShelleyEra c) = ShelleyNEWPP (ShelleyEra c)
type EraRule "POOL" (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type EraRule "POOL" (ShelleyEra c) = ShelleyPOOL (ShelleyEra c)
type EraRule "POOLREAP" (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type EraRule "POOLREAP" (ShelleyEra c) = ShelleyPOOLREAP (ShelleyEra c)
type EraRule "PPUP" (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type EraRule "PPUP" (ShelleyEra c) = ShelleyPPUP (ShelleyEra c)
type EraRule "RUPD" (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type EraRule "RUPD" (ShelleyEra c) = ShelleyRUPD (ShelleyEra c)
type EraRule "SNAP" (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type EraRule "SNAP" (ShelleyEra c) = ShelleySNAP (ShelleyEra c)
type EraRule "TICK" (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type EraRule "TICK" (ShelleyEra c) = ShelleyTICK (ShelleyEra c)
type EraRule "TICKF" (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type EraRule "TICKF" (ShelleyEra c) = ShelleyTICKF (ShelleyEra c)
type EraRule "UPEC" (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type EraRule "UPEC" (ShelleyEra c) = ShelleyUPEC (ShelleyEra c)
type EraRule "UTXO" (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type EraRule "UTXO" (ShelleyEra c) = ShelleyUTXO (ShelleyEra c)
type EraRule "UTXOW" (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type EraRule "UTXOW" (ShelleyEra c) = ShelleyUTXOW (ShelleyEra c)
type DowngradePParams f (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.PParams

type DowngradePParams f (ShelleyEra c) = Void
type PParamsHKD f (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.PParams

type PParamsHKD f (ShelleyEra c) = ShelleyPParams f (ShelleyEra c)
type UpgradePParams f (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.PParams

type UpgradePParams f (ShelleyEra c) = Void
type Rep (TransitionConfig (ShelleyEra c)) 
Instance details

Defined in Cardano.Ledger.Shelley.Transition

type Rep (TransitionConfig (ShelleyEra c)) = D1 ('MetaData "TransitionConfig" "Cardano.Ledger.Shelley.Transition" "cardano-ledger-shelley-1.8.0.0-163LAE5QwnDC1PvCpY1ebT" 'True) (C1 ('MetaCons "ShelleyTransitionConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "stcShelleyGenesis") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ShelleyGenesis c))))
type NativeScript (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Scripts

type NativeScript (ShelleyEra c) = MultiSig (ShelleyEra c)
type Script (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Scripts

type Script (ShelleyEra c) = MultiSig (ShelleyEra c)
type Tx (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Tx

type Tx (ShelleyEra c) = ShelleyTx (ShelleyEra c)
type TxAuxData (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.TxAuxData

type TxAuxData (ShelleyEra c) = ShelleyTxAuxData (ShelleyEra c)
type TxBody (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.TxBody

type TxBody (ShelleyEra c) = ShelleyTxBody (ShelleyEra c)
type TxBodyUpgradeError (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.TxBody

type TxBodyUpgradeError (ShelleyEra c) = Void
type TxOut (ShelleyEra crypto) 
Instance details

Defined in Cardano.Ledger.Shelley.TxOut

type TxOut (ShelleyEra crypto) = ShelleyTxOut (ShelleyEra crypto)
type TxSeq (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.BlockChain

type TxSeq (ShelleyEra c) = ShelleyTxSeq (ShelleyEra c)
type TxUpgradeError (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Tx

type TxUpgradeError (ShelleyEra c) = Void
type TxWits (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.TxWits

type TxWits (ShelleyEra c) = ShelleyTxWits (ShelleyEra c)
type Value (ShelleyEra _c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type Value (ShelleyEra _c) = Coin
type EraCrypto (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type EraCrypto (ShelleyEra c) = c
type PreviousEra (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type PreviousEra (ShelleyEra c) = ByronEra c
type ProtVerHigh (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type ProtVerHigh (ShelleyEra c) = ProtVerLow (ShelleyEra c)
type ProtVerLow (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type ProtVerLow (ShelleyEra c) = 2
type TranslationContext (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Translation

type TranslationContext (ShelleyEra c) = FromByronTranslationContext c
type TxCert (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.TxCert

type TxCert (ShelleyEra c) = ShelleyTxCert (ShelleyEra c)
type TxCertUpgradeError (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.TxCert

type TxCertUpgradeError (ShelleyEra c) = Void
type ScriptsNeeded (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.UTxO

type ScriptsNeeded (ShelleyEra c) = ShelleyScriptsNeeded (ShelleyEra c)
type AdditionalGenesisConfig (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.API.Genesis

type AdditionalGenesisConfig (ShelleyEra c) = ()
type GovState (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Governance

type GovState (ShelleyEra c) = ShelleyGovState (ShelleyEra c)
newtype TransitionConfig (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Transition

data ProtocolParams (CardanoBlock c) Source #

Parameters needed to run Cardano.

Instance details

Defined in Ouroboros.Consensus.Cardano.Node

type TxMeasure (ShelleyBlock p (ShelleyEra c)) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type TxMeasure (ShelleyBlock p (ShelleyEra c)) = ByteSize
data ProtocolParams (ShelleyBlock (TPraos c) (ShelleyEra c)) Source #

Parameters needed to run Shelley

Instance details

Defined in Ouroboros.Consensus.Shelley.Node.TPraos

Eras instantiated with standard crypto

type StandardAllegra = AllegraEra StandardCrypto Source #

The Allegra era with standard crypto

type StandardAlonzo = AlonzoEra StandardCrypto Source #

The Alonzo era with standard crypto

type StandardBabbage = BabbageEra StandardCrypto Source #

The Babbage era with standard crypto

type StandardConway = ConwayEra StandardCrypto Source #

The Conway era with standard crypto

type StandardMary = MaryEra StandardCrypto Source #

The Mary era with standard crypto

type StandardShelley = ShelleyEra StandardCrypto Source #

The Shelley era with standard crypto

Shelley-based era

class (EraSegWits era, EraGov era, ApplyTx era, ApplyBlock era, EraTransition era, GetLedgerView era, NoThunks (StashedAVVMAddresses era), EncCBOR (StashedAVVMAddresses era), DecCBOR (StashedAVVMAddresses era), Show (StashedAVVMAddresses era), Eq (StashedAVVMAddresses era), DecCBOR (PredicateFailure (EraRule "LEDGER" era)), EncCBOR (PredicateFailure (EraRule "LEDGER" era)), DecCBOR (PredicateFailure (EraRule "UTXOW" era)), EncCBOR (PredicateFailure (EraRule "UTXOW" era)), DSignable (EraCrypto era) (Hash (EraCrypto era) EraIndependentTxBody), NoThunks (PredicateFailure (EraRule "BBODY" era)), NoThunks (TranslationContext era)) => ShelleyBasedEra era where Source #

Consensus often needs some more functionality than the ledger currently provides.

Either the functionality shouldn't or can't live in the ledger, in which case it can be part and remain part of ShelleyBasedEra. Or, the functionality should live in the ledger, but hasn't yet been added to the ledger, or it hasn't yet been propagated to this repository, in which case it can be added to this class until that is the case.

If this class becomes redundant, We can move it to ledger and re-export it from here.

TODO Currently we include some constraints on the update state which are needed to determine the hard fork point. In the future this should be replaced with an appropriate API - see https://github.com/input-output-hk/ouroboros-network/issues/2890

Methods

shelleyBasedEraName :: proxy era -> Text Source #

Return the name of the Shelley-based era, e.g., Shelley, Allegra, etc.

applyShelleyBasedTx :: Globals -> LedgerEnv era -> LedgerState era -> WhetherToIntervene -> Tx era -> Except (ApplyTxError era) (LedgerState era, Validated (Tx era)) Source #

getProposedProtocolVersion :: PParamsUpdate era -> Maybe ProtVer Source #

Get the protocol version out of a PParamsUpdate, used to detect whether we should perform a HF. This will likely be removed/changed once we implement HF enactment in Conway (see https://github.com/input-output-hk/ouroboros-consensus/issues/61).

For now, this always returns Nothing for Conway (see the instance below).

Instances

Instances details
(PraosCrypto c, DSignable c (Hash c EraIndependentTxBody)) => ShelleyBasedEra (AllegraEra c) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

Methods

shelleyBasedEraName :: proxy (AllegraEra c) -> Text Source #

applyShelleyBasedTx :: Globals -> LedgerEnv (AllegraEra c) -> LedgerState (AllegraEra c) -> WhetherToIntervene -> Tx (AllegraEra c) -> Except (ApplyTxError (AllegraEra c)) (LedgerState (AllegraEra c), Validated (Tx (AllegraEra c))) Source #

getProposedProtocolVersion :: PParamsUpdate (AllegraEra c) -> Maybe ProtVer Source #

(PraosCrypto c, DSignable c (Hash c EraIndependentTxBody)) => ShelleyBasedEra (AlonzoEra c) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

Methods

shelleyBasedEraName :: proxy (AlonzoEra c) -> Text Source #

applyShelleyBasedTx :: Globals -> LedgerEnv (AlonzoEra c) -> LedgerState (AlonzoEra c) -> WhetherToIntervene -> Tx (AlonzoEra c) -> Except (ApplyTxError (AlonzoEra c)) (LedgerState (AlonzoEra c), Validated (Tx (AlonzoEra c))) Source #

getProposedProtocolVersion :: PParamsUpdate (AlonzoEra c) -> Maybe ProtVer Source #

PraosCrypto c => ShelleyBasedEra (BabbageEra c) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

Methods

shelleyBasedEraName :: proxy (BabbageEra c) -> Text Source #

applyShelleyBasedTx :: Globals -> LedgerEnv (BabbageEra c) -> LedgerState (BabbageEra c) -> WhetherToIntervene -> Tx (BabbageEra c) -> Except (ApplyTxError (BabbageEra c)) (LedgerState (BabbageEra c), Validated (Tx (BabbageEra c))) Source #

getProposedProtocolVersion :: PParamsUpdate (BabbageEra c) -> Maybe ProtVer Source #

PraosCrypto c => ShelleyBasedEra (ConwayEra c) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

Methods

shelleyBasedEraName :: proxy (ConwayEra c) -> Text Source #

applyShelleyBasedTx :: Globals -> LedgerEnv (ConwayEra c) -> LedgerState (ConwayEra c) -> WhetherToIntervene -> Tx (ConwayEra c) -> Except (ApplyTxError (ConwayEra c)) (LedgerState (ConwayEra c), Validated (Tx (ConwayEra c))) Source #

getProposedProtocolVersion :: PParamsUpdate (ConwayEra c) -> Maybe ProtVer Source #

(PraosCrypto c, DSignable c (Hash c EraIndependentTxBody)) => ShelleyBasedEra (MaryEra c) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

Methods

shelleyBasedEraName :: proxy (MaryEra c) -> Text Source #

applyShelleyBasedTx :: Globals -> LedgerEnv (MaryEra c) -> LedgerState (MaryEra c) -> WhetherToIntervene -> Tx (MaryEra c) -> Except (ApplyTxError (MaryEra c)) (LedgerState (MaryEra c), Validated (Tx (MaryEra c))) Source #

getProposedProtocolVersion :: PParamsUpdate (MaryEra c) -> Maybe ProtVer Source #

(PraosCrypto c, DSignable c (Hash c EraIndependentTxBody)) => ShelleyBasedEra (ShelleyEra c) Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

Methods

shelleyBasedEraName :: proxy (ShelleyEra c) -> Text Source #

applyShelleyBasedTx :: Globals -> LedgerEnv (ShelleyEra c) -> LedgerState (ShelleyEra c) -> WhetherToIntervene -> Tx (ShelleyEra c) -> Except (ApplyTxError (ShelleyEra c)) (LedgerState (ShelleyEra c), Validated (Tx (ShelleyEra c))) Source #

getProposedProtocolVersion :: PParamsUpdate (ShelleyEra c) -> Maybe ProtVer Source #

newtype WrapTx era Source #

Wrapper for partially applying the Tx type family

For generality, Consensus uses that type family as eg the index of TranslateEra. We thus need to partially apply it.

cardano-ledger-specs also declares such a newtype, but currently it's only defined in the Alonzo translation module, which seems somewhat inappropriate to use for previous eras. Also, we use a Wrap prefix in Consensus. Hence this minor mediating definition. TODO I'm not even fully persuading myself with this justification.

Constructors

WrapTx 

Fields

Instances

Instances details
ShelleyBasedEra (AllegraEra c) => TranslateEra (AllegraEra c) WrapTx Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

Associated Types

type TranslationError (AllegraEra c) WrapTx

Methods

translateEra :: TranslationContext (AllegraEra c) -> WrapTx (PreviousEra (AllegraEra c)) -> Except (TranslationError (AllegraEra c) WrapTx) (WrapTx (AllegraEra c))

ShelleyBasedEra (AlonzoEra c) => TranslateEra (AlonzoEra c) WrapTx Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

Associated Types

type TranslationError (AlonzoEra c) WrapTx

Methods

translateEra :: TranslationContext (AlonzoEra c) -> WrapTx (PreviousEra (AlonzoEra c)) -> Except (TranslationError (AlonzoEra c) WrapTx) (WrapTx (AlonzoEra c))

ShelleyBasedEra (BabbageEra c) => TranslateEra (BabbageEra c) WrapTx Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

Associated Types

type TranslationError (BabbageEra c) WrapTx

Methods

translateEra :: TranslationContext (BabbageEra c) -> WrapTx (PreviousEra (BabbageEra c)) -> Except (TranslationError (BabbageEra c) WrapTx) (WrapTx (BabbageEra c))

ShelleyBasedEra (ConwayEra c) => TranslateEra (ConwayEra c) WrapTx Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

Associated Types

type TranslationError (ConwayEra c) WrapTx

Methods

translateEra :: TranslationContext (ConwayEra c) -> WrapTx (PreviousEra (ConwayEra c)) -> Except (TranslationError (ConwayEra c) WrapTx) (WrapTx (ConwayEra c))

ShelleyBasedEra (MaryEra c) => TranslateEra (MaryEra c) WrapTx Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

Associated Types

type TranslationError (MaryEra c) WrapTx

Methods

translateEra :: TranslationContext (MaryEra c) -> WrapTx (PreviousEra (MaryEra c)) -> Except (TranslationError (MaryEra c) WrapTx) (WrapTx (MaryEra c))

type TranslationError (AllegraEra c) WrapTx Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

type TranslationError (AllegraEra c) WrapTx = TranslationError (AllegraEra c) ShelleyTx
type TranslationError (AlonzoEra c) WrapTx Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

type TranslationError (AlonzoEra c) WrapTx = TranslationError (AlonzoEra c) Tx
type TranslationError (BabbageEra c) WrapTx Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

type TranslationError (BabbageEra c) WrapTx = TranslationError (BabbageEra c) Tx
type TranslationError (ConwayEra c) WrapTx Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

type TranslationError (ConwayEra c) WrapTx = TranslationError (ConwayEra c) Tx
type TranslationError (MaryEra c) WrapTx Source # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Eras

type TranslationError (MaryEra c) WrapTx = TranslationError (MaryEra c) ShelleyTx

Type synonyms for convenience

type family EraCrypto era #

Instances

Instances details
type EraCrypto (AllegraEra c) 
Instance details

Defined in Cardano.Ledger.Allegra.Era

type EraCrypto (AllegraEra c) = c
type EraCrypto (AlonzoEra c) 
Instance details

Defined in Cardano.Ledger.Alonzo.Era

type EraCrypto (AlonzoEra c) = c
type EraCrypto (BabbageEra c) 
Instance details

Defined in Cardano.Ledger.Babbage.Era

type EraCrypto (BabbageEra c) = c
type EraCrypto (ConwayEra c) 
Instance details

Defined in Cardano.Ledger.Conway.Era

type EraCrypto (ConwayEra c) = c
type EraCrypto (ByronEra c) 
Instance details

Defined in Cardano.Ledger.Core.Era

type EraCrypto (ByronEra c) = c
type EraCrypto (MaryEra c) 
Instance details

Defined in Cardano.Ledger.Mary.Era

type EraCrypto (MaryEra c) = c
type EraCrypto (ShelleyEra c) 
Instance details

Defined in Cardano.Ledger.Shelley.Era

type EraCrypto (ShelleyEra c) = c

Re-exports

data StandardCrypto #

Instances

Instances details
Crypto StandardCrypto 
Instance details

Defined in Cardano.Ledger.Crypto

Associated Types

type HASH StandardCrypto

type ADDRHASH StandardCrypto

type DSIGN StandardCrypto

type KES StandardCrypto

type VRF StandardCrypto

PraosCrypto StandardCrypto 
Instance details

Defined in Cardano.Protocol.TPraos.API

PraosCrypto StandardCrypto 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos

type ADDRHASH StandardCrypto 
Instance details

Defined in Cardano.Ledger.Crypto

type ADDRHASH StandardCrypto = Blake2b_224
type DSIGN StandardCrypto 
Instance details

Defined in Cardano.Ledger.Crypto

type DSIGN StandardCrypto = Ed25519DSIGN
type HASH StandardCrypto 
Instance details

Defined in Cardano.Ledger.Crypto

type HASH StandardCrypto = Blake2b_256
type KES StandardCrypto 
Instance details

Defined in Cardano.Ledger.Crypto

type KES StandardCrypto = Sum6KES Ed25519DSIGN Blake2b_256
type VRF StandardCrypto 
Instance details

Defined in Cardano.Ledger.Crypto

type VRF StandardCrypto = PraosVRF

Exceptions