cardano-api
Safe HaskellNone
LanguageHaskell2010

Cardano.Api.Consensus

Synopsis

Documentation

data ShelleyGenesisStaking c Source #

Genesis Shelley staking configuration.

This allows us to configure some initial stake pools and delegation to them, in order to test Praos in a static configuration, without requiring on-chain registration and delegation.

For simplicity, pools defined in the genesis staking do not pay deposits for their registration.

Constructors

ShelleyGenesisStaking 

Fields

  • sgsPools :: ListMap (KeyHash 'StakePool c) (PoolParams c)

    Pools to register

    The key in this map is the hash of the public key of the _pool_. This need not correspond to any payment or staking key, but must correspond to the cold key held by TPraosIsCoreNode.

  • sgsStake :: ListMap (KeyHash 'Staking c) (KeyHash 'StakePool c)

    Stake-holding key hash credentials and the pools to delegate that stake to. We require the raw staking key hash in order to:

    • Avoid pointer addresses, which would be tricky when there's no slot or transaction to point to.
    • Avoid script credentials.

Instances

Instances details
Crypto c => FromJSON (ShelleyGenesisStaking c) 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Crypto c => ToJSON (ShelleyGenesisStaking c) 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Monoid (ShelleyGenesisStaking c) 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Semigroup (ShelleyGenesisStaking c) 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Generic (ShelleyGenesisStaking c) 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Associated Types

type Rep (ShelleyGenesisStaking c) 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

type Rep (ShelleyGenesisStaking c) = D1 ('MetaData "ShelleyGenesisStaking" "Cardano.Ledger.Shelley.Genesis" "cardano-ledger-shelley-1.14.1.0-6da62eb4db0139bb466588c0f3bf17f53ad859af8a090c113a1a960870dce943" 'False) (C1 ('MetaCons "ShelleyGenesisStaking" 'PrefixI 'True) (S1 ('MetaSel ('Just "sgsPools") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ListMap (KeyHash 'StakePool c) (PoolParams c))) :*: S1 ('MetaSel ('Just "sgsStake") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ListMap (KeyHash 'Staking c) (KeyHash 'StakePool c)))))
Show (ShelleyGenesisStaking c) 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Crypto c => DecCBOR (ShelleyGenesisStaking c) 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Crypto c => EncCBOR (ShelleyGenesisStaking c) 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Eq (ShelleyGenesisStaking c) 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

NoThunks (ShelleyGenesisStaking c) 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Methods

noThunks :: Context -> ShelleyGenesisStaking c -> IO (Maybe ThunkInfo) #

wNoThunks :: Context -> ShelleyGenesisStaking c -> IO (Maybe ThunkInfo) #

showTypeOf :: Proxy (ShelleyGenesisStaking c) -> String #

type Rep (ShelleyGenesisStaking c) 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

type Rep (ShelleyGenesisStaking c) = D1 ('MetaData "ShelleyGenesisStaking" "Cardano.Ledger.Shelley.Genesis" "cardano-ledger-shelley-1.14.1.0-6da62eb4db0139bb466588c0f3bf17f53ad859af8a090c113a1a960870dce943" 'False) (C1 ('MetaCons "ShelleyGenesisStaking" 'PrefixI 'True) (S1 ('MetaSel ('Just "sgsPools") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ListMap (KeyHash 'StakePool c) (PoolParams c))) :*: S1 ('MetaSel ('Just "sgsStake") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ListMap (KeyHash 'Staking c) (KeyHash 'StakePool c)))))

type family ChainDepState p Source #

Protocol-specific state

NOTE: This chain is blockchain dependent, i.e., updated when new blocks come in (more precisely, new headers), and subject to rollback.

Instances

Instances details
type ChainDepState (HardForkProtocol xs) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Protocol

type ChainDepState (PBft c) 
Instance details

Defined in Ouroboros.Consensus.Protocol.PBFT

type ChainDepState (TPraos c) 
Instance details

Defined in Ouroboros.Consensus.Protocol.TPraos

type family ChainDepState p Source #

Protocol-specific state

NOTE: This chain is blockchain dependent, i.e., updated when new blocks come in (more precisely, new headers), and subject to rollback.

Instances

Instances details
type ChainDepState (HardForkProtocol xs) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Protocol

type ChainDepState (PBft c) 
Instance details

Defined in Ouroboros.Consensus.Protocol.PBFT

type ChainDepState (TPraos c) 
Instance details

Defined in Ouroboros.Consensus.Protocol.TPraos

data family GenTx blk Source #

Generalized transaction

The mempool (and, accordingly, blocks) consist of "generalized transactions"; this could be "proper" transactions (transferring funds) but also other kinds of things such as update proposals, delegations, etc.

Instances

Instances details
data GenTx ByronBlock

Generalized transactions in Byron

This is effectively the same as AMempoolPayload but we cache the transaction ID (a hash).

Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

type TranslationError era (GenTx :.: ShelleyBlock proto) 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

type Rep (Validated (GenTx (HardForkBlock xs))) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

type Rep (Validated (GenTx (HardForkBlock xs))) = D1 ('MetaData "Validated" "Ouroboros.Consensus.HardFork.Combinator.Mempool" "ouroboros-consensus-0.21.0.0-96a81cb4588538917e2e1bd1565d867fc48490e88747b2693485d823f16f2133" 'True) (C1 ('MetaCons "HardForkValidatedGenTx" 'PrefixI 'True) (S1 ('MetaSel ('Just "getHardForkValidatedGenTx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OneEraValidatedGenTx xs))))
type Rep (Validated (GenTx ByronBlock)) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

type Rep (Validated (GenTx ByronBlock)) = D1 ('MetaData "Validated" "Ouroboros.Consensus.Byron.Ledger.Mempool" "ouroboros-consensus-cardano-0.20.0.0-2bd9b95213c4ce1ce608f7e1fa75ab5517c5c68b93059f91e3d89fedcdadeff3" 'True) (C1 ('MetaCons "ValidatedByronTx" 'PrefixI 'True) (S1 ('MetaSel ('Just "forgetValidatedByronTx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (GenTx ByronBlock))))
type Rep (Validated (GenTx (ShelleyBlock proto era))) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type Rep (Validated (GenTx (ShelleyBlock proto era))) = D1 ('MetaData "Validated" "Ouroboros.Consensus.Shelley.Ledger.Mempool" "ouroboros-consensus-cardano-0.20.0.0-2bd9b95213c4ce1ce608f7e1fa75ab5517c5c68b93059f91e3d89fedcdadeff3" 'False) (C1 ('MetaCons "ShelleyValidatedTx" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (TxId (EraCrypto era))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Validated (Tx era)))))
type Rep (GenTx (HardForkBlock xs)) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

type Rep (GenTx (HardForkBlock xs)) = D1 ('MetaData "GenTx" "Ouroboros.Consensus.HardFork.Combinator.Mempool" "ouroboros-consensus-0.21.0.0-96a81cb4588538917e2e1bd1565d867fc48490e88747b2693485d823f16f2133" 'True) (C1 ('MetaCons "HardForkGenTx" 'PrefixI 'True) (S1 ('MetaSel ('Just "getHardForkGenTx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OneEraGenTx xs))))
type Rep (GenTx ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

type Rep (GenTx (ShelleyBlock proto era)) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

type Rep (GenTx (ShelleyBlock proto era)) = D1 ('MetaData "GenTx" "Ouroboros.Consensus.Shelley.Ledger.Mempool" "ouroboros-consensus-cardano-0.20.0.0-2bd9b95213c4ce1ce608f7e1fa75ab5517c5c68b93059f91e3d89fedcdadeff3" 'False) (C1 ('MetaCons "ShelleyTx" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (TxId (EraCrypto era))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Tx era))))
type Rep (TxId (GenTx (HardForkBlock xs))) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

type Rep (TxId (GenTx (HardForkBlock xs))) = D1 ('MetaData "TxId" "Ouroboros.Consensus.HardFork.Combinator.Mempool" "ouroboros-consensus-0.21.0.0-96a81cb4588538917e2e1bd1565d867fc48490e88747b2693485d823f16f2133" 'True) (C1 ('MetaCons "HardForkGenTxId" 'PrefixI 'True) (S1 ('MetaSel ('Just "getHardForkGenTxId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OneEraGenTxId xs))))
newtype Validated (GenTx (HardForkBlock xs)) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

newtype Validated (GenTx ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

data Validated (GenTx (ShelleyBlock proto era)) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

data Validated (GenTx (ShelleyBlock proto era)) = ShelleyValidatedTx !(TxId (EraCrypto era)) !(Validated (Tx era))
newtype GenTx (HardForkBlock xs) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

newtype TxId (GenTx (HardForkBlock xs)) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

data TxId (GenTx ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

newtype TxId (GenTx (ShelleyBlock proto era)) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

newtype TxId (GenTx (ShelleyBlock proto era)) = ShelleyTxId (TxId (EraCrypto era))
data GenTx (ShelleyBlock proto era) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

data GenTx (ShelleyBlock proto era) = ShelleyTx !(TxId (EraCrypto era)) !(Tx era)

txId :: HasTxId tx => tx -> TxId tx Source #

Return the TxId of a GenTx.

NOTE: a TxId must be unique up to ledger rules, i.e., two GenTxs with the same TxId must be the same transaction according to the ledger. However, we do not assume that a TxId uniquely determines a GenTx: two GenTxs with the same TxId can differ in, e.g., witnesses.

Should be cheap as this will be called often.

unsafeExtendSafeZone :: forall (xs :: [Type]). Interpreter xs -> Interpreter xs Source #

UNSAFE: extend the safe zone of the current era of the given Interpreter to be unbounded, ignoring any future hard forks.

This only has effect when the Interpreter was obtained in an era that was not the final one (in the final era, this is a no-op). The Interpreter will be made to believe that the current era is the final era, making its horizon unbounded, and thus never returning a PastHorizonException.

Use of this function is strongly discouraged, as it will ignore any future hard forks, and the results produced by the Interpreter can thus be incorrect.

data PastHorizonException Source #

We tried to convert something that is past the horizon

That is, we tried to convert something that is past the point in time beyond which we lack information due to uncertainty about the next hard fork.

interpreterToEpochInfo :: forall (xs :: [Type]). Interpreter xs -> EpochInfo (Except PastHorizonException) Source #

Construct an EpochInfo for a snapshot of the ledger state

data EraMismatch Source #

Extra info for errors caused by applying a block, header, transaction, or query from one era to a ledger from a different era.

Constructors

EraMismatch 

Fields

Instances

Instances details
Generic EraMismatch 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Associated Types

type Rep EraMismatch 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep EraMismatch = D1 ('MetaData "EraMismatch" "Ouroboros.Consensus.HardFork.Combinator.AcrossEras" "ouroboros-consensus-0.21.0.0-96a81cb4588538917e2e1bd1565d867fc48490e88747b2693485d823f16f2133" 'False) (C1 ('MetaCons "EraMismatch" 'PrefixI 'True) (S1 ('MetaSel ('Just "ledgerEraName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "otherEraName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)))
Show EraMismatch 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Eq EraMismatch 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep EraMismatch 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep EraMismatch = D1 ('MetaData "EraMismatch" "Ouroboros.Consensus.HardFork.Combinator.AcrossEras" "ouroboros-consensus-0.21.0.0-96a81cb4588538917e2e1bd1565d867fc48490e88747b2693485d823f16f2133" 'False) (C1 ('MetaCons "EraMismatch" 'PrefixI 'True) (S1 ('MetaSel ('Just "ledgerEraName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "otherEraName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)))

data ByronBlock Source #

Byron block

We cache two bits of information:

  • We cache the slot number as this is not readily available for EBBs. Having it cached allows us to e.g. give a HasHeader instance.
  • We cache the hash as this is expensive to compute and we need it often.

Instances

Instances details
Show ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

ConvertLedgerEvent ByronBlock 
Instance details

Defined in Cardano.Api.LedgerEvents.ConvertLedgerEvent

ProtocolClient ByronBlockHFC 
Instance details

Defined in Cardano.Api.Protocol

Associated Types

data ProtocolClientInfoArgs ByronBlockHFC 
Instance details

Defined in Cardano.Api.Protocol

Eq ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

ConvertRawHash ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

GetHeader ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

GetPrevHash ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

Condense ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

HasHeader ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

IOLike m => Protocol m ByronBlockHFC 
Instance details

Defined in Cardano.Api.Protocol

StandardHash ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

ShowProxy ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

(CardanoHardForkConstraints StandardCrypto, IOLike m) => Protocol m (CardanoBlock StandardCrypto) 
Instance details

Defined in Cardano.Api.Protocol

ShowProxy (Header ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

Generic (Header ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

Associated Types

type Rep (Header ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

type Rep (Header ByronBlock) = D1 ('MetaData "Header" "Ouroboros.Consensus.Byron.Ledger.Block" "ouroboros-consensus-cardano-0.20.0.0-2bd9b95213c4ce1ce608f7e1fa75ab5517c5c68b93059f91e3d89fedcdadeff3" 'False) (C1 ('MetaCons "ByronHeader" 'PrefixI 'True) ((S1 ('MetaSel ('Just "byronHeaderRaw") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ABlockOrBoundaryHdr ByteString)) :*: S1 ('MetaSel ('Just "byronHeaderSlotNo") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 SlotNo)) :*: (S1 ('MetaSel ('Just "byronHeaderHash") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ByronHash) :*: S1 ('MetaSel ('Just "byronHeaderBlockSizeHint") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 SizeInBytes))))
Show (Header ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

ConvertLedgerEvent (HardForkBlock (CardanoEras StandardCrypto)) 
Instance details

Defined in Cardano.Api.LedgerEvents.ConvertLedgerEvent

CardanoHardForkConstraints StandardCrypto => ProtocolClient (CardanoBlock StandardCrypto) 
Instance details

Defined in Cardano.Api.Protocol

Associated Types

data ProtocolClientInfoArgs (CardanoBlock StandardCrypto) 
Instance details

Defined in Cardano.Api.Protocol

Eq (Header ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

NoThunks (Header ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

Methods

noThunks :: Context -> Header ByronBlock -> IO (Maybe ThunkInfo) #

wNoThunks :: Context -> Header ByronBlock -> IO (Maybe ThunkInfo) #

showTypeOf :: Proxy (Header ByronBlock) -> String #

Condense (Header ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

HasHeader (Header ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

data ProtocolClientInfoArgs ByronBlockHFC 
Instance details

Defined in Cardano.Api.Protocol

data ProtocolInfoArgs ByronBlockHFC 
Instance details

Defined in Cardano.Api.Protocol

data BlockConfig ByronBlock

Extended configuration we need for Byron

Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

type BlockProtocol ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.PBFT

newtype CodecConfig ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

data Header ByronBlock

Byron header

See ByronBlock for comments on why we cache certain values.

Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

newtype StorageConfig ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

type CannotForge ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Node

type ForgeStateInfo ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Node

type ForgeStateUpdateError ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Node

data NestedCtxt_ ByronBlock f a

Since the Byron header does not contain the size, we include it in the nested type instead.

Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Serialisation

type TentativeHeaderState ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Node

type TentativeHeaderView ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Node

type HardForkIndices ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type PartialLedgerConfig ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Cardano.CanHardFork

type OtherHeaderEnvelopeError ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.HeaderValidation

type TipInfo ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.HeaderValidation

data LedgerState ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type LedgerUpdate ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Inspect

type LedgerWarning ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Inspect

data BlockQuery ByronBlock a 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type ApplyTxErr ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

data GenTx ByronBlock

Generalized transactions in Byron

This is effectively the same as AMempoolPayload but we cache the transaction ID (a hash).

Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

type TxMeasure ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

type BlockNodeToClientVersion ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.NetworkProtocolVersion

type BlockNodeToNodeVersion ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.NetworkProtocolVersion

type HeaderHash ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

type Rep (BlockConfig ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

type Rep (BlockConfig ByronBlock) = D1 ('MetaData "BlockConfig" "Ouroboros.Consensus.Byron.Ledger.Config" "ouroboros-consensus-cardano-0.20.0.0-2bd9b95213c4ce1ce608f7e1fa75ab5517c5c68b93059f91e3d89fedcdadeff3" 'False) (C1 ('MetaCons "ByronConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "byronGenesisConfig") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Config) :*: (S1 ('MetaSel ('Just "byronProtocolVersion") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ProtocolVersion) :*: S1 ('MetaSel ('Just "byronSoftwareVersion") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SoftwareVersion))))
type Rep (CodecConfig ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

type Rep (CodecConfig ByronBlock) = D1 ('MetaData "CodecConfig" "Ouroboros.Consensus.Byron.Ledger.Config" "ouroboros-consensus-cardano-0.20.0.0-2bd9b95213c4ce1ce608f7e1fa75ab5517c5c68b93059f91e3d89fedcdadeff3" 'True) (C1 ('MetaCons "ByronCodecConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "getByronEpochSlots") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 EpochSlots)))
type Rep (Header ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

type Rep (Header ByronBlock) = D1 ('MetaData "Header" "Ouroboros.Consensus.Byron.Ledger.Block" "ouroboros-consensus-cardano-0.20.0.0-2bd9b95213c4ce1ce608f7e1fa75ab5517c5c68b93059f91e3d89fedcdadeff3" 'False) (C1 ('MetaCons "ByronHeader" 'PrefixI 'True) ((S1 ('MetaSel ('Just "byronHeaderRaw") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ABlockOrBoundaryHdr ByteString)) :*: S1 ('MetaSel ('Just "byronHeaderSlotNo") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 SlotNo)) :*: (S1 ('MetaSel ('Just "byronHeaderHash") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ByronHash) :*: S1 ('MetaSel ('Just "byronHeaderBlockSizeHint") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 SizeInBytes))))
type Rep (StorageConfig ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

type Rep (StorageConfig ByronBlock) = D1 ('MetaData "StorageConfig" "Ouroboros.Consensus.Byron.Ledger.Config" "ouroboros-consensus-cardano-0.20.0.0-2bd9b95213c4ce1ce608f7e1fa75ab5517c5c68b93059f91e3d89fedcdadeff3" 'True) (C1 ('MetaCons "ByronStorageConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "getByronBlockConfig") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BlockConfig ByronBlock))))
type Rep (Validated (GenTx ByronBlock)) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

type Rep (Validated (GenTx ByronBlock)) = D1 ('MetaData "Validated" "Ouroboros.Consensus.Byron.Ledger.Mempool" "ouroboros-consensus-cardano-0.20.0.0-2bd9b95213c4ce1ce608f7e1fa75ab5517c5c68b93059f91e3d89fedcdadeff3" 'True) (C1 ('MetaCons "ValidatedByronTx" 'PrefixI 'True) (S1 ('MetaSel ('Just "forgetValidatedByronTx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (GenTx ByronBlock))))
type Rep (LedgerState ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type Rep (LedgerState ByronBlock) = D1 ('MetaData "LedgerState" "Ouroboros.Consensus.Byron.Ledger.Ledger" "ouroboros-consensus-cardano-0.20.0.0-2bd9b95213c4ce1ce608f7e1fa75ab5517c5c68b93059f91e3d89fedcdadeff3" 'False) (C1 ('MetaCons "ByronLedgerState" 'PrefixI 'True) (S1 ('MetaSel ('Just "byronLedgerTipBlockNo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (WithOrigin BlockNo)) :*: (S1 ('MetaSel ('Just "byronLedgerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ChainValidationState) :*: S1 ('MetaSel ('Just "byronLedgerTransition") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ByronTransition))))
type Rep (GenTx ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

type Rep (Ticked (LedgerState ByronBlock)) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type Rep (Ticked (LedgerState ByronBlock)) = D1 ('MetaData "Ticked" "Ouroboros.Consensus.Byron.Ledger.Ledger" "ouroboros-consensus-cardano-0.20.0.0-2bd9b95213c4ce1ce608f7e1fa75ab5517c5c68b93059f91e3d89fedcdadeff3" 'False) (C1 ('MetaCons "TickedByronLedgerState" 'PrefixI 'True) (S1 ('MetaSel ('Just "tickedByronLedgerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ChainValidationState) :*: S1 ('MetaSel ('Just "untickedByronLedgerTransition") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ByronTransition)))
data ProtocolClientInfoArgs (CardanoBlock StandardCrypto) 
Instance details

Defined in Cardano.Api.Protocol

data ProtocolInfoArgs (CardanoBlock StandardCrypto) 
Instance details

Defined in Cardano.Api.Protocol

type HardForkTxMeasure (CardanoEras c) 
Instance details

Defined in Ouroboros.Consensus.Cardano.CanHardFork

newtype Validated (GenTx ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

type AuxLedgerEvent (LedgerState ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type LedgerCfg (LedgerState ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type LedgerErr (LedgerState ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

data TxId (GenTx ByronBlock) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

data Ticked (LedgerState ByronBlock)

The ticked Byron ledger state

Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

class ConsensusProtocol p => PraosProtocolSupportsNode p where Source #

The node has Praos-aware code that inspects nonces in order to support some Cardano API queries that are crucial to the user exprience

The interface being used for that has grown and needs review, but we're adding to it here under time pressure. See https://github.com/IntersectMBO/cardano-node/issues/3864

Minimal complete definition

getPraosNonces, getOpCertCounters