cardano-api
Safe HaskellNone
LanguageHaskell2010

Cardano.Api.Consensus

Synopsis

Consensus modes

Consensus modes. The node supports several different modes with different combinations of consensus protocols and ledger eras.

The protocols supported in each era

Connection parameters for each mode

data ConsensusModeParams where Source #

The consensus-mode-specific parameters needed to connect to a local node that is using each consensus mode.

It is in fact only the Byron era that requires extra parameters, but this is of course inherited by the CardanoMode that uses the Byron era. The reason this parameter is needed stems from unfortunate design decisions from the legacy Byron era. The slots per epoch are needed to be able to decode epoch boundary blocks from the Byron era.

It is possible in future that we may be able to eliminate this parameter by discovering it from the node during the initial handshake.

newtype EpochSlots Source #

The number of slots per epoch.

Constructors

EpochSlots 

Fields

Instances

Instances details
FromCBOR EpochSlots Source # 
Instance details

Defined in Cardano.Chain.Slotting.EpochSlots

ToCBOR EpochSlots Source # 
Instance details

Defined in Cardano.Chain.Slotting.EpochSlots

DecCBOR EpochSlots Source # 
Instance details

Defined in Cardano.Chain.Slotting.EpochSlots

EncCBOR EpochSlots Source # 
Instance details

Defined in Cardano.Chain.Slotting.EpochSlots

Buildable EpochSlots 
Instance details

Defined in Cardano.Chain.Slotting.EpochSlots

Methods

build :: EpochSlots -> Builder

Eq EpochSlots Source # 
Instance details

Defined in Cardano.Chain.Slotting.EpochSlots

Ord EpochSlots Source # 
Instance details

Defined in Cardano.Chain.Slotting.EpochSlots

Data EpochSlots Source # 
Instance details

Defined in Cardano.Chain.Slotting.EpochSlots

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> EpochSlots -> c EpochSlots Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c EpochSlots Source #

toConstr :: EpochSlots -> Constr Source #

dataTypeOf :: EpochSlots -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c EpochSlots) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c EpochSlots) Source #

gmapT :: (forall b. Data b => b -> b) -> EpochSlots -> EpochSlots Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> EpochSlots -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> EpochSlots -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> EpochSlots -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> EpochSlots -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> EpochSlots -> m EpochSlots Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> EpochSlots -> m EpochSlots Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> EpochSlots -> m EpochSlots Source #

Generic EpochSlots Source # 
Instance details

Defined in Cardano.Chain.Slotting.EpochSlots

Associated Types

type Rep EpochSlots 
Instance details

Defined in Cardano.Chain.Slotting.EpochSlots

type Rep EpochSlots = D1 ('MetaData "EpochSlots" "Cardano.Chain.Slotting.EpochSlots" "cardano-ledger-byron-1.3.0.0-cbe47ecdd78ec099b7c9f533b8e2d06e89ee5e3addc26db2003f25d930e0b6f8" 'True) (C1 ('MetaCons "EpochSlots" 'PrefixI 'True) (S1 ('MetaSel ('Just "unEpochSlots") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))
Read EpochSlots Source # 
Instance details

Defined in Cardano.Chain.Slotting.EpochSlots

Show EpochSlots Source # 
Instance details

Defined in Cardano.Chain.Slotting.EpochSlots

NoThunks EpochSlots Source # 
Instance details

Defined in Cardano.Chain.Slotting.EpochSlots

Methods

noThunks :: Context -> EpochSlots -> IO (Maybe ThunkInfo) #

wNoThunks :: Context -> EpochSlots -> IO (Maybe ThunkInfo) #

showTypeOf :: Proxy EpochSlots -> String #

type Rep EpochSlots Source # 
Instance details

Defined in Cardano.Chain.Slotting.EpochSlots

type Rep EpochSlots = D1 ('MetaData "EpochSlots" "Cardano.Chain.Slotting.EpochSlots" "cardano-ledger-byron-1.3.0.0-cbe47ecdd78ec099b7c9f533b8e2d06e89ee5e3addc26db2003f25d930e0b6f8" 'True) (C1 ('MetaCons "EpochSlots" 'PrefixI 'True) (S1 ('MetaSel ('Just "unEpochSlots") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))

Conversions to and from types in the consensus library

type family ConsensusBlockForEra era where ... Source #

A closed type family that maps between the consensus mode (from this API) and the block type used by the consensus libraries.

Equations

ConsensusBlockForEra ByronEra = ByronBlock 
ConsensusBlockForEra ShelleyEra = StandardShelleyBlock 
ConsensusBlockForEra AllegraEra = StandardAllegraBlock 
ConsensusBlockForEra MaryEra = StandardMaryBlock 
ConsensusBlockForEra AlonzoEra = StandardAlonzoBlock 
ConsensusBlockForEra BabbageEra = StandardBabbageBlock 
ConsensusBlockForEra ConwayEra = StandardConwayBlock 
ConsensusBlockForEra DijkstraEra = StandardDijkstraBlock 

Transactions in the consensus mode

Transactions in the context of a consensus mode, and other types used in the transaction submission protocol.

Transaction in a consensus mode

data TxInMode where Source #

A Tx in one of the eras supported by a given protocol mode.

For multi-era modes such as the CardanoMode this type is a sum of the different transaction types for all the eras. It is used in the LocalTxSubmission protocol.

Constructors

TxInMode :: forall era. ShelleyBasedEra era -> Tx era -> TxInMode

Shelley based transactions.

TxInByronSpecial :: GenTx ByronBlock -> TxInMode

Legacy Byron transactions and things we can post to the chain which are not actually transactions. This covers: update proposals, votes and delegation certs.

Instances

Instances details
Show TxInMode Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.InMode

Transaction id in a consensus mode

data TxIdInMode where Source #

A TxId in one of the eras supported by a given protocol mode.

For multi-era modes such as the CardanoMode this type is a sum of the different transaction types for all the eras. It is used in the LocalTxMonitoring protocol.

TODO Rename to TxIdInEra

Constructors

TxIdInMode :: forall era. CardanoEra era -> TxId -> TxIdInMode 

Transaction validation errors

data TxValidationError era where Source #

The transaction validations errors that can occur from trying to submit a transaction to a local node. The errors are specific to an era.

Instances

Instances details
ToJSON (TxValidationError era) Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.InMode

Methods

toJSON :: TxValidationError era -> Value #

toEncoding :: TxValidationError era -> Encoding #

toJSONList :: [TxValidationError era] -> Value #

toEncodingList :: [TxValidationError era] -> Encoding #

omitField :: TxValidationError era -> Bool #

Generic (TxValidationError era) Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.InMode

Associated Types

type Rep (TxValidationError era) 
Instance details

Defined in Cardano.Api.Consensus.Internal.InMode

type Rep (TxValidationError era) = D1 ('MetaData "TxValidationError" "Cardano.Api.Consensus.Internal.InMode" "cardano-api-11.3.0.0-inplace" 'False) (C1 ('MetaCons "ByronTxValidationError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ApplyTxErr ByronBlock))) :+: C1 ('MetaCons "ShelleyTxValidationError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ShelleyBasedEra era)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ApplyTxErr (ShelleyBlock (ConsensusProtocol era) (ShelleyLedgerEra era))))))
Show (TxValidationError era) Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.InMode

type Rep (TxValidationError era) Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.InMode

type Rep (TxValidationError era) = D1 ('MetaData "TxValidationError" "Cardano.Api.Consensus.Internal.InMode" "cardano-api-11.3.0.0-inplace" 'False) (C1 ('MetaCons "ByronTxValidationError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ApplyTxErr ByronBlock))) :+: C1 ('MetaCons "ShelleyTxValidationError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ShelleyBasedEra era)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ApplyTxErr (ShelleyBlock (ConsensusProtocol era) (ShelleyLedgerEra era))))))

Consensus protocol

data BlockType blk where Source #

Instances

Instances details
Eq (BlockType blk) Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

Methods

(==) :: BlockType blk -> BlockType blk -> Bool Source #

(/=) :: BlockType blk -> BlockType blk -> Bool Source #

Show (BlockType blk) Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

data SomeBlockType where Source #

Constructors

SomeBlockType :: forall blk. BlockType blk -> SomeBlockType 

reflBlockType :: BlockType blk -> BlockType blk' -> Maybe (blk :~: blk') Source #

class (RunNode blk, IOLike m) => Protocol (m :: Type -> Type) blk where Source #

Associated Types

data ProtocolInfoArgs blk Source #

Methods

protocolInfo :: ProtocolInfoArgs blk -> (ProtocolInfo blk, Tracer m KESAgentClientTrace -> m [MkBlockForging m blk]) Source #

Instances

Instances details
IOLike m => Protocol m ByronBlockHFC Source #

Run PBFT against the Byron ledger

Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

Associated Types

data ProtocolInfoArgs ByronBlockHFC 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

data ProtocolInfoArgs ByronBlockHFC = ProtocolInfoArgsByron ProtocolParamsByron

Methods

protocolInfo :: ProtocolInfoArgs ByronBlockHFC -> (ProtocolInfo ByronBlockHFC, Tracer m KESAgentClientTrace -> m [MkBlockForging m ByronBlockHFC]) Source #

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

Defined in Cardano.Api.Consensus.Internal.Protocol

(IOLike m, LedgerSupportsProtocol (ShelleyBlock (TPraos StandardCrypto) ShelleyEra), MonadKESAgent m) => Protocol m (ShelleyBlockHFC (TPraos StandardCrypto) ShelleyEra) Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

Associated Types

data ProtocolInfoArgs (ShelleyBlockHFC (TPraos StandardCrypto) ShelleyEra) 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

data ProtocolInfoArgs (ShelleyBlockHFC (TPraos StandardCrypto) ShelleyEra) = ProtocolInfoArgsShelley ShelleyGenesis (ProtocolParamsShelleyBased StandardCrypto) ProtVer

Methods

protocolInfo :: ProtocolInfoArgs (ShelleyBlockHFC (TPraos StandardCrypto) ShelleyEra) -> (ProtocolInfo (ShelleyBlockHFC (TPraos StandardCrypto) ShelleyEra), Tracer m KESAgentClientTrace -> m [MkBlockForging m (ShelleyBlockHFC (TPraos StandardCrypto) ShelleyEra)]) Source #

data family ProtocolInfoArgs blk Source #

Instances

Instances details
data ProtocolInfoArgs ByronBlockHFC Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

data ProtocolInfoArgs ByronBlockHFC = ProtocolInfoArgsByron ProtocolParamsByron
data ProtocolInfoArgs (CardanoBlock StandardCrypto) Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

data ProtocolInfoArgs (ShelleyBlockHFC (TPraos StandardCrypto) ShelleyEra) Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

data ProtocolInfoArgs (ShelleyBlockHFC (TPraos StandardCrypto) ShelleyEra) = ProtocolInfoArgsShelley ShelleyGenesis (ProtocolParamsShelleyBased StandardCrypto) ProtVer

class RunNode blk => ProtocolClient blk where Source #

Node client support for each consensus protocol.

This is like Protocol but for clients of the node, so with less onerous requirements than to run a node.

Associated Types

data ProtocolClientInfoArgs blk Source #

Instances

Instances details
ProtocolClient ByronBlockHFC Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

Associated Types

data ProtocolClientInfoArgs ByronBlockHFC 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

Methods

protocolClientInfo :: ProtocolClientInfoArgs ByronBlockHFC -> ProtocolClientInfo ByronBlockHFC Source #

CardanoHardForkConstraints StandardCrypto => ProtocolClient (CardanoBlock StandardCrypto) Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

LedgerSupportsProtocol (ShelleyBlock (TPraos StandardCrypto) ShelleyEra) => ProtocolClient (ShelleyBlockHFC (TPraos StandardCrypto) ShelleyEra) Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

Associated Types

data ProtocolClientInfoArgs (ShelleyBlockHFC (TPraos StandardCrypto) ShelleyEra) 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

nodeSystemStart :: ConfigSupportsNode blk => TopLevelConfig blk -> SystemStart Source #

Extract the network system start time from the node's top-level configuration.

Reexports from ouroboros-consensus

data BlockComponent blk a where Source #

Which component of the block to read from a database: the whole block, its header, its hash, the block size, ..., or combinations thereof.

NOTE: when requesting multiple components, we will not optimise/cache them.

Constructors

GetVerifiedBlock :: forall blk. BlockComponent blk blk

Verify the integrity of the block by checking its signature and/or hashes. The interpreter should throw an exception when the block does not pass the check.

GetBlock :: forall blk. BlockComponent blk blk 
GetRawBlock :: forall blk. BlockComponent blk ByteString 
GetHeader :: forall blk. BlockComponent blk (Header blk) 
GetRawHeader :: forall blk. BlockComponent blk ByteString 
GetHash :: forall blk. BlockComponent blk (HeaderHash blk) 
GetSlot :: forall blk. BlockComponent blk SlotNo 
GetIsEBB :: forall blk. BlockComponent blk IsEBB 
GetBlockSize :: forall blk. BlockComponent blk SizeInBytes 
GetHeaderSize :: forall blk. BlockComponent blk Word16 
GetNestedCtxt :: forall blk. BlockComponent blk (SomeSecond (NestedCtxt Header) blk) 
GetPure :: forall a blk. a -> BlockComponent blk a 
GetApply :: forall blk a1 a. BlockComponent blk (a1 -> a) -> BlockComponent blk a1 -> BlockComponent blk a 

Instances

Instances details
Applicative (BlockComponent blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Storage.Common

Methods

pure :: a -> BlockComponent blk a Source #

(<*>) :: BlockComponent blk (a -> b) -> BlockComponent blk a -> BlockComponent blk b Source #

liftA2 :: (a -> b -> c) -> BlockComponent blk a -> BlockComponent blk b -> BlockComponent blk c Source #

(*>) :: BlockComponent blk a -> BlockComponent blk b -> BlockComponent blk b Source #

(<*) :: BlockComponent blk a -> BlockComponent blk b -> BlockComponent blk a Source #

Functor (BlockComponent blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Storage.Common

Methods

fmap :: (a -> b) -> BlockComponent blk a -> BlockComponent blk b Source #

(<$) :: a -> BlockComponent blk b -> BlockComponent blk a Source #

data ByronBlock #

Instances

Instances details
ProtocolClient ByronBlockHFC Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

Associated Types

data ProtocolClientInfoArgs ByronBlockHFC 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

Methods

protocolClientInfo :: ProtocolClientInfoArgs ByronBlockHFC -> ProtocolClientInfo ByronBlockHFC Source #

NFData ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

Methods

rnf :: ByronBlock -> () Source #

Eq ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

Show 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

BlockSupportsDiffusionPipelining ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node

BlockSupportsMetrics ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node

BlockSupportsProtocol ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.PBFT

BlockSupportsSanityCheck ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node

ConfigSupportsNode ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node

HasHardForkHistory ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

ImmutableEraParams ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

NoHardForks ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

SingleEraBlock ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

HasPartialLedgerConfig ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

Associated Types

type PartialLedgerConfig ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

type PartialLedgerConfig ByronBlock = ByronPartialLedgerConfig
SerialiseConstraintsHFC ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

BasicEnvelopeValidation ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.HeaderValidation

HasAnnTip ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.HeaderValidation

ValidateEnvelope ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.HeaderValidation

Associated Types

type OtherHeaderEnvelopeError ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.HeaderValidation

type OtherHeaderEnvelopeError ByronBlock = ByronOtherHeaderEnvelopeError
UpdateLedger ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

CommonProtocolParams ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

InspectLedger ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Inspect

Associated Types

type LedgerWarning ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Inspect

type LedgerUpdate ByronBlock 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Inspect

type LedgerUpdate ByronBlock = ByronLedgerUpdate
BlockSupportsLedgerQuery ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

HasTxs ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

LedgerSupportsMempool ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

TxLimits ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

LedgerSupportsPeerSelection ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

LedgerSupportsPeras ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node

LedgerSupportsProtocol ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

NodeInitStorage ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node

HasNetworkProtocolVersion ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.NetworkProtocolVersion

SupportedNetworkProtocolVersion ByronBlockHFC # 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

SupportedNetworkProtocolVersion ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.NetworkProtocolVersion

RunNode ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node

SerialiseNodeToClientConstraints ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

SerialiseNodeToNodeConstraints ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

SerialiseDiskConstraints ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

HasBinaryBlockInfo ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

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 Source #

Run PBFT against the Byron ledger

Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

Associated Types

data ProtocolInfoArgs ByronBlockHFC 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

data ProtocolInfoArgs ByronBlockHFC = ProtocolInfoArgsByron ProtocolParamsByron

Methods

protocolInfo :: ProtocolInfoArgs ByronBlockHFC -> (ProtocolInfo ByronBlockHFC, Tracer m KESAgentClientTrace -> m [MkBlockForging m ByronBlockHFC]) Source #

HasNestedContent Header ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Serialisation

SerialiseNodeToClient ByronBlock ApplyMempoolPayloadErr # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

SerialiseNodeToClient ByronBlock Config # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

SerialiseNodeToClient ByronBlock SlotNo # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

SerialiseNodeToClient ByronBlock ByronPartialLedgerConfig # 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

SerialiseNodeToClient ByronBlock ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

SerialiseNodeToNode ByronBlock ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

EncodeDisk ByronBlock ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

ReconstructNestedCtxt Header ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

StandardHash ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

ShowProxy ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

SerialiseBlockQueryResult ByronBlock BlockQuery # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

SameDepIndex2 (BlockQuery ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

Methods

sameDepIndex2 :: forall (x :: QueryFootprint) a (y :: QueryFootprint) b. BlockQuery ByronBlock x a -> BlockQuery ByronBlock y b -> Maybe ('(x, a) :~: '(y, b)) Source #

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

Defined in Cardano.Api.Consensus.Internal.Protocol

SerialiseNodeToClient ByronBlock (SomeBlockQuery (BlockQuery ByronBlock)) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

SerialiseNodeToClient ByronBlock (GenTx ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

SerialiseNodeToClient ByronBlock (GenTxId ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

SerialiseNodeToNode ByronBlock (Header ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

SerialiseNodeToNode ByronBlock (GenTx ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

SerialiseNodeToNode ByronBlock (GenTxId ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

SerialiseNodeToNode ByronBlock (SerialisedHeader ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

DecodeDisk ByronBlock (AnnTip ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

DecodeDisk ByronBlock (PBftState PBftByronCrypto) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

Methods

decodeDisk :: CodecConfig ByronBlock -> forall s. Decoder s (PBftState PBftByronCrypto) Source #

EncodeDisk ByronBlock (AnnTip ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

EncodeDisk ByronBlock (PBftState PBftByronCrypto) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

Methods

encodeDisk :: CodecConfig ByronBlock -> PBftState PBftByronCrypto -> Encoding Source #

ShowProxy (Header ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

ShowProxy (GenTx ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

ShowProxy (TxId (GenTx ByronBlock)) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

SerialiseNodeToClient ByronBlock (Serialised ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

SerialiseNodeToNode ByronBlock (Serialised ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

DecodeDisk ByronBlock (LedgerState ByronBlock mk) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

DecodeDisk ByronBlock (ByteString -> Either DecoderError ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

EncodeDisk ByronBlock (LedgerState ByronBlock mk) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

SameDepIndex (NestedCtxt_ ByronBlock f :: Type -> Type) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Serialisation

CardanoHardForkConstraints StandardCrypto => ProtocolClient (CardanoBlock StandardCrypto) Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

Eq (Header ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

Eq (CanonicalTxIn (CardanoEras c)) # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

Methods

(==) :: CanonicalTxIn (CardanoEras c) -> CanonicalTxIn (CardanoEras c) -> Bool Source #

(/=) :: CanonicalTxIn (CardanoEras c) -> CanonicalTxIn (CardanoEras c) -> Bool Source #

Eq (CanonicalTxIn '[ByronBlock]) # 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

Eq (Validated (GenTx ByronBlock)) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Eq (GenTx ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Eq (TxId (GenTx ByronBlock)) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Ord (CanonicalTxIn (CardanoEras c)) # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

Methods

compare :: CanonicalTxIn (CardanoEras c) -> CanonicalTxIn (CardanoEras c) -> Ordering Source #

(<) :: CanonicalTxIn (CardanoEras c) -> CanonicalTxIn (CardanoEras c) -> Bool Source #

(<=) :: CanonicalTxIn (CardanoEras c) -> CanonicalTxIn (CardanoEras c) -> Bool Source #

(>) :: CanonicalTxIn (CardanoEras c) -> CanonicalTxIn (CardanoEras c) -> Bool Source #

(>=) :: CanonicalTxIn (CardanoEras c) -> CanonicalTxIn (CardanoEras c) -> Bool Source #

max :: CanonicalTxIn (CardanoEras c) -> CanonicalTxIn (CardanoEras c) -> CanonicalTxIn (CardanoEras c) Source #

min :: CanonicalTxIn (CardanoEras c) -> CanonicalTxIn (CardanoEras c) -> CanonicalTxIn (CardanoEras c) Source #

Ord (CanonicalTxIn '[ByronBlock]) # 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

Ord (TxId (GenTx ByronBlock)) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Generic (BlockConfig ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

Associated Types

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-3.0.1.0-l-cardano-f86c1f08ec538bbdd74f211c4ba323728cf5c84a255db435f9773273df9f421f" 'False) (C1 ('MetaCons "ByronConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "byronGenesisConfig") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Config) :*: (S1 ('MetaSel ('Just "byronProtocolVersion") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ProtocolVersion) :*: S1 ('MetaSel ('Just "byronSoftwareVersion") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SoftwareVersion))))
Generic (CodecConfig ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

Associated Types

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-3.0.1.0-l-cardano-f86c1f08ec538bbdd74f211c4ba323728cf5c84a255db435f9773273df9f421f" 'True) (C1 ('MetaCons "ByronCodecConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "getByronEpochSlots") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 EpochSlots)))
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-3.0.1.0-l-cardano-f86c1f08ec538bbdd74f211c4ba323728cf5c84a255db435f9773273df9f421f" '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))))
Generic (StorageConfig ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

Associated Types

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-3.0.1.0-l-cardano-f86c1f08ec538bbdd74f211c4ba323728cf5c84a255db435f9773273df9f421f" 'True) (C1 ('MetaCons "ByronStorageConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "getByronBlockConfig") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BlockConfig ByronBlock))))
Generic (Validated (GenTx ByronBlock)) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Associated Types

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-3.0.1.0-l-cardano-f86c1f08ec538bbdd74f211c4ba323728cf5c84a255db435f9773273df9f421f" 'True) (C1 ('MetaCons "ValidatedByronTx" 'PrefixI 'True) (S1 ('MetaSel ('Just "forgetValidatedByronTx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (GenTx ByronBlock))))
Generic (GenTx ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Show (Header ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

Show (CanonicalTxIn (CardanoEras c)) # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

Methods

showsPrec :: Int -> CanonicalTxIn (CardanoEras c) -> ShowS Source #

show :: CanonicalTxIn (CardanoEras c) -> String Source #

showList :: [CanonicalTxIn (CardanoEras c)] -> ShowS Source #

Show (CanonicalTxIn '[ByronBlock]) # 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

Show (Validated (GenTx ByronBlock)) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Show (GenTx ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Show (GenTxId ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

CardanoHardForkConstraints c => MemPack (CanonicalTxIn (CardanoEras c)) # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

Methods

typeName :: String #

packedByteCount :: CanonicalTxIn (CardanoEras c) -> Int #

packM :: CanonicalTxIn (CardanoEras c) -> Pack s () #

unpackM :: Buffer b => Unpack s b (CanonicalTxIn (CardanoEras c)) #

MemPack (CanonicalTxIn '[ByronBlock]) # 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

Methods

typeName :: String #

packedByteCount :: CanonicalTxIn '[ByronBlock] -> Int #

packM :: CanonicalTxIn '[ByronBlock] -> Pack s () #

unpackM :: Buffer b => Unpack s b (CanonicalTxIn '[ByronBlock]) #

NoThunks (BlockConfig ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

Methods

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

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

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

NoThunks (CodecConfig ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

Methods

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

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

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

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 #

NoThunks (StorageConfig ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

Methods

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

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

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

NoThunks (CanonicalTxIn (CardanoEras c)) # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

Methods

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

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

showTypeOf :: Proxy (CanonicalTxIn (CardanoEras c)) -> String #

NoThunks (CanonicalTxIn '[ByronBlock]) # 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

Methods

noThunks :: Context -> CanonicalTxIn '[ByronBlock] -> IO (Maybe ThunkInfo) #

wNoThunks :: Context -> CanonicalTxIn '[ByronBlock] -> IO (Maybe ThunkInfo) #

showTypeOf :: Proxy (CanonicalTxIn '[ByronBlock]) -> String #

NoThunks (Validated (GenTx ByronBlock)) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Methods

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

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

showTypeOf :: Proxy (Validated (GenTx ByronBlock)) -> String #

NoThunks (GenTx ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Methods

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

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

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

NoThunks (TxId (GenTx ByronBlock)) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Methods

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

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

showTypeOf :: Proxy (TxId (GenTx ByronBlock)) -> String #

CardanoHardForkConstraints c => CanHardFork (CardanoEras c) # 
Instance details

Defined in Ouroboros.Consensus.Cardano.CanHardFork

Associated Types

type HardForkTxMeasure (CardanoEras c) 
Instance details

Defined in Ouroboros.Consensus.Cardano.CanHardFork

type HardForkTxMeasure (CardanoEras c) = DijkstraMeasure
CardanoHardForkConstraints c => HasCanonicalTxIn (CardanoEras c) # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

Associated Types

newtype CanonicalTxIn (CardanoEras c) 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

newtype CanonicalTxIn (CardanoEras c) = CardanoTxIn {}

Methods

injectCanonicalTxIn :: Index (CardanoEras c) x -> TxIn (LedgerState x) -> CanonicalTxIn (CardanoEras c) Source #

ejectCanonicalTxIn :: Index (CardanoEras c) x -> CanonicalTxIn (CardanoEras c) -> TxIn (LedgerState x) Source #

CardanoHardForkConstraints c => HasHardForkTxOut (CardanoEras c) # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

Associated Types

type HardForkTxOut (CardanoEras c) 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

type HardForkTxOut (CardanoEras c) = CardanoTxOut c

Methods

injectHardForkTxOut :: Index (CardanoEras c) x -> TxOut (LedgerState x) -> HardForkTxOut (CardanoEras c) Source #

ejectHardForkTxOut :: Index (CardanoEras c) x -> HardForkTxOut (CardanoEras c) -> TxOut (LedgerState x) Source #

txOutEjections :: NP ((K (NS WrapTxOut (CardanoEras c)) :: Type -> Type) -.-> WrapTxOut) (CardanoEras c) Source #

txOutTranslations :: Tails (Fn2 WrapTxOut) (CardanoEras c) Source #

CardanoHardForkConstraints c => BlockSupportsHFLedgerQuery (CardanoEras c) # 
Instance details

Defined in Ouroboros.Consensus.Cardano.QueryHF

Methods

answerBlockQueryHFLookup :: (All SingleEraBlock (CardanoEras c), Monad m) => Index (CardanoEras c) x -> ExtLedgerCfg x -> BlockQuery x 'QFLookupTables result -> ReadOnlyForker' m (HardForkBlock (CardanoEras c)) -> m result Source #

answerBlockQueryHFTraverse :: (All SingleEraBlock (CardanoEras c), Monad m) => Index (CardanoEras c) x -> ExtLedgerCfg x -> BlockQuery x 'QFTraverseTables result -> ReadOnlyForker' m (HardForkBlock (CardanoEras c)) -> m result Source #

queryLedgerGetTraversingFilter :: Index (CardanoEras c) x -> BlockQuery x 'QFTraverseTables result -> TxOut (LedgerState (HardForkBlock (CardanoEras c))) -> Bool Source #

CardanoHardForkConstraints c => SerialiseHFC (CardanoEras c) # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Node

GetTip (LedgerState ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

IsLedger (LedgerState ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

ConvertRawTxId (GenTx ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

HasTxId (GenTx ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

CanStowLedgerTables (LedgerState ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

HasLedgerTables (LedgerState ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

LedgerTablesAreTrivial (LedgerState ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

Methods

convertMapKind :: forall (mk :: MapKind) (mk' :: MapKind). LedgerState ByronBlock mk -> LedgerState ByronBlock mk' Source #

CardanoHardForkConstraints c => SerializeTablesWithHint (LedgerState (HardForkBlock (CardanoEras c))) # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

SerializeTablesWithHint (LedgerState (HardForkBlock '[ByronBlock])) # 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

SerializeTablesWithHint (LedgerState ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

CardanoHardForkConstraints c => SupportedNetworkProtocolVersion (CardanoBlock c) # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Node

CanUpgradeLedgerTables (LedgerState ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

Condense (Header ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

Condense (GenTx ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Condense (GenTxId ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

HasHeader (Header ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

ApplyBlock (LedgerState ByronBlock) ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

DecodeDiskDep (NestedCtxt Header) ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

DecodeDiskDepIx (NestedCtxt Header) ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

EncodeDiskDep (NestedCtxt Header) ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

EncodeDiskDepIx (NestedCtxt Header) ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

Eq (LedgerState ByronBlock mk) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

Generic (LedgerState ByronBlock mk) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

Associated Types

type Rep (LedgerState ByronBlock mk) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type Rep (LedgerState ByronBlock mk) = D1 ('MetaData "LedgerState" "Ouroboros.Consensus.Byron.Ledger.Ledger" "ouroboros-consensus-3.0.1.0-l-cardano-f86c1f08ec538bbdd74f211c4ba323728cf5c84a255db435f9773273df9f421f" '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))))
Show (LedgerState ByronBlock mk) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

NoThunks (LedgerState ByronBlock mk) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

Methods

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

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

showTypeOf :: Proxy (LedgerState ByronBlock mk) -> String #

GetTip (Ticked (LedgerState ByronBlock)) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

HasLedgerTables (Ticked (LedgerState ByronBlock)) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

LedgerTablesAreTrivial (Ticked (LedgerState ByronBlock)) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

ShowQuery (BlockQuery ByronBlock fp) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

Methods

showResult :: BlockQuery ByronBlock fp result -> result -> String #

IndexedMemPack (LedgerState (HardForkBlock '[ByronBlock]) EmptyMK) Void # 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

IndexedMemPack (LedgerState ByronBlock EmptyMK) Void # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

CardanoHardForkConstraints c => IndexedMemPack (LedgerState (HardForkBlock (CardanoEras c)) EmptyMK) (CardanoTxOut c) # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

Methods

indexedPackedByteCount :: LedgerState (HardForkBlock (CardanoEras c)) EmptyMK -> CardanoTxOut c -> Int Source #

indexedPackM :: LedgerState (HardForkBlock (CardanoEras c)) EmptyMK -> CardanoTxOut c -> Pack s () Source #

indexedUnpackM :: Buffer b => forall s. LedgerState (HardForkBlock (CardanoEras c)) EmptyMK -> Unpack s b (CardanoTxOut c) Source #

indexedTypeName :: LedgerState (HardForkBlock (CardanoEras c)) EmptyMK -> String Source #

ShowProxy (BlockQuery ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

Eq (BlockQuery ByronBlock fp result) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

Methods

(==) :: BlockQuery ByronBlock fp result -> BlockQuery ByronBlock fp result -> Bool Source #

(/=) :: BlockQuery ByronBlock fp result -> BlockQuery ByronBlock fp result -> Bool Source #

Generic (Ticked (LedgerState ByronBlock) mk) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

Associated Types

type Rep (Ticked (LedgerState ByronBlock) mk) 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type Rep (Ticked (LedgerState ByronBlock) mk) = D1 ('MetaData "Ticked" "Ouroboros.Consensus.Byron.Ledger.Ledger" "ouroboros-consensus-3.0.1.0-l-cardano-f86c1f08ec538bbdd74f211c4ba323728cf5c84a255db435f9773273df9f421f" 'False) (C1 ('MetaCons "TickedByronLedgerState" 'PrefixI 'True) (S1 ('MetaSel ('Just "tickedByronLedgerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ChainValidationState) :*: S1 ('MetaSel ('Just "untickedByronLedgerTransition") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ByronTransition)))
Show (NestedCtxt_ ByronBlock f a) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Serialisation

Show (BlockQuery ByronBlock fp result) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

NoThunks (Ticked (LedgerState ByronBlock) mk) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

Methods

noThunks :: Context -> Ticked (LedgerState ByronBlock) mk -> IO (Maybe ThunkInfo) #

wNoThunks :: Context -> Ticked (LedgerState ByronBlock) mk -> IO (Maybe ThunkInfo) #

showTypeOf :: Proxy (Ticked (LedgerState ByronBlock) mk) -> String #

HasCanonicalTxIn '[ByronBlock] # 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

Associated Types

newtype CanonicalTxIn '[ByronBlock] 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

HasHardForkTxOut '[ByronBlock] # 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

Associated Types

type HardForkTxOut '[ByronBlock] 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

BlockSupportsHFLedgerQuery '[ByronBlock] # 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

SerialiseHFC '[ByronBlock] # 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

data ProtocolClientInfoArgs ByronBlockHFC Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

data ProtocolInfoArgs ByronBlockHFC Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

data ProtocolInfoArgs ByronBlockHFC = ProtocolInfoArgsByron ProtocolParamsByron
data BlockConfig ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

type BlockProtocol ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.PBFT

type BlockProtocol ByronBlock = PBft PBftByronCrypto
newtype CodecConfig ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Config

data Header ByronBlock # 
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 CannotForge ByronBlock = PBftCannotForge PBftByronCrypto
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 # 
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.Byron.ByronHFC

type PartialLedgerConfig ByronBlock = ByronPartialLedgerConfig
type OtherHeaderEnvelopeError ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.HeaderValidation

type OtherHeaderEnvelopeError ByronBlock = ByronOtherHeaderEnvelopeError
type TipInfo ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.HeaderValidation

data LedgerState ByronBlock mk # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type LedgerUpdate ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Inspect

type LedgerUpdate ByronBlock = ByronLedgerUpdate
type LedgerWarning ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Inspect

data BlockQuery ByronBlock fp result # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type ApplyTxErr ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

data GenTx ByronBlock # 
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 BlockNodeToClientVersion ByronBlock = ByronNodeToClientVersion
type BlockNodeToNodeVersion ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.NetworkProtocolVersion

type BlockNodeToNodeVersion ByronBlock = ByronNodeToNodeVersion
type HeaderHash ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

type HeaderHash ByronBlock = ByronHash
data ProtocolClientInfoArgs (CardanoBlock StandardCrypto) Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

data ProtocolInfoArgs (CardanoBlock StandardCrypto) Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

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-3.0.1.0-l-cardano-f86c1f08ec538bbdd74f211c4ba323728cf5c84a255db435f9773273df9f421f" 'False) (C1 ('MetaCons "ByronConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "byronGenesisConfig") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Config) :*: (S1 ('MetaSel ('Just "byronProtocolVersion") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (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-3.0.1.0-l-cardano-f86c1f08ec538bbdd74f211c4ba323728cf5c84a255db435f9773273df9f421f" '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-3.0.1.0-l-cardano-f86c1f08ec538bbdd74f211c4ba323728cf5c84a255db435f9773273df9f421f" '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-3.0.1.0-l-cardano-f86c1f08ec538bbdd74f211c4ba323728cf5c84a255db435f9773273df9f421f" '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-3.0.1.0-l-cardano-f86c1f08ec538bbdd74f211c4ba323728cf5c84a255db435f9773273df9f421f" 'True) (C1 ('MetaCons "ValidatedByronTx" 'PrefixI 'True) (S1 ('MetaSel ('Just "forgetValidatedByronTx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (GenTx ByronBlock))))
type Rep (GenTx ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

type HardForkTxMeasure (CardanoEras c) # 
Instance details

Defined in Ouroboros.Consensus.Cardano.CanHardFork

type HardForkTxMeasure (CardanoEras c) = DijkstraMeasure
newtype CanonicalTxIn (CardanoEras c) # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

newtype CanonicalTxIn (CardanoEras c) = CardanoTxIn {}
type HardForkTxOut (CardanoEras c) # 
Instance details

Defined in Ouroboros.Consensus.Cardano.Ledger

type HardForkTxOut (CardanoEras c) = CardanoTxOut c
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

type TxIn (LedgerState ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type TxOut (LedgerState ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type Rep (LedgerState ByronBlock mk) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type Rep (LedgerState ByronBlock mk) = D1 ('MetaData "LedgerState" "Ouroboros.Consensus.Byron.Ledger.Ledger" "ouroboros-consensus-3.0.1.0-l-cardano-f86c1f08ec538bbdd74f211c4ba323728cf5c84a255db435f9773273df9f421f" '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))))
data Ticked (LedgerState ByronBlock) (mk :: MapKind) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type Rep (Ticked (LedgerState ByronBlock) mk) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

type Rep (Ticked (LedgerState ByronBlock) mk) = D1 ('MetaData "Ticked" "Ouroboros.Consensus.Byron.Ledger.Ledger" "ouroboros-consensus-3.0.1.0-l-cardano-f86c1f08ec538bbdd74f211c4ba323728cf5c84a255db435f9773273df9f421f" 'False) (C1 ('MetaCons "TickedByronLedgerState" 'PrefixI 'True) (S1 ('MetaSel ('Just "tickedByronLedgerState") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ChainValidationState) :*: S1 ('MetaSel ('Just "untickedByronLedgerTransition") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ByronTransition)))
newtype CanonicalTxIn '[ByronBlock] # 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

type HardForkTxOut '[ByronBlock] # 
Instance details

Defined in Ouroboros.Consensus.Byron.ByronHFC

type CardanoBlock c = HardForkBlock (CardanoEras c) #

data ChainDB (m :: Type -> Type) blk Source #

The chain database

The chain database provides a unified interface on top of:

  • The ImmutableDB, storing the part of the chain that can't roll back.
  • The VolatileDB, storing the blocks near the tip of the chain, possibly in multiple competing forks.
  • The LedgerDB, storing snapshots of the ledger state for blocks in the ImmutableDB (and in-memory snapshots for the rest).

In addition to providing a unifying interface on top of these disparate components, the main responsibilities that the ChainDB itself has are:

  • Chain selection (on initialization and whenever a block is added)
  • Trigger full recovery whenever we detect disk failure in any component
  • Provide iterators across fixed fragments of the current chain
  • Provide followers that track the status of the current chain

The ChainDB instantiates all the various type parameters of these databases to conform to the unified interface we provide here.

getBlockComponent :: ChainDB m blk -> forall b. BlockComponent blk b -> RealPoint blk -> m (Maybe b) Source #

Get the given component(s) of the block at the specified point. If there is no block at the given point, Nothing is returned.

getCurrentLedger :: ChainDB m blk -> STM m (ExtLedgerState blk EmptyMK) Source #

Get current ledger

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) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Protocol

type ChainDepState (Bft c) Source # 
Instance details

Defined in Ouroboros.Consensus.Protocol.BFT

type ChainDepState (Bft c) = ()
type ChainDepState (PBft c) Source # 
Instance details

Defined in Ouroboros.Consensus.Protocol.PBFT

type ChainDepState (Praos c) # 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos

type ChainDepState (Praos c) = PraosState
type ChainDepState (TPraos c) # 
Instance details

Defined in Ouroboros.Consensus.Protocol.TPraos

type ChainDepState (TPraos c) = TPraosState
type ChainDepState (ModChainSel p t) Source # 
Instance details

Defined in Ouroboros.Consensus.Protocol.ModChainSel

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
Inject GenTx Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Nary

Methods

inject :: forall x (xs :: [Type]). (CanHardFork xs, HasCanonicalTxIn xs, HasHardForkTxOut xs) => InjectionIndex xs x -> GenTx x -> GenTx (HardForkBlock xs) Source #

Isomorphic GenTx Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Unary

Methods

project :: NoHardForks blk => GenTx (HardForkBlock '[blk]) -> GenTx blk Source #

inject :: NoHardForks blk => GenTx blk -> GenTx (HardForkBlock '[blk]) Source #

SerialiseNodeToClient ByronBlock (GenTx ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

SerialiseNodeToClient ByronBlock (GenTxId ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

SerialiseNodeToNode ByronBlock (GenTx ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

SerialiseNodeToNode ByronBlock (GenTxId ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Node.Serialisation

(Typeable era, Typeable proto) => ShowProxy (Validated (GenTx (ShelleyBlock proto era)) :: Type) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

showProxy :: Proxy (Validated (GenTx (ShelleyBlock proto era))) -> String #

Typeable xs => ShowProxy (GenTx (HardForkBlock xs) :: Type) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

(Typeable m, Typeable a) => ShowProxy (GenTx (DualBlock m a) :: Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

showProxy :: Proxy (GenTx (DualBlock m a)) -> String #

ShowProxy (GenTx ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

(Typeable era, Typeable proto) => ShowProxy (GenTx (ShelleyBlock proto era) :: Type) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

showProxy :: Proxy (GenTx (ShelleyBlock proto era)) -> String #

Typeable xs => ShowProxy (TxId (GenTx (HardForkBlock xs)) :: Type) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

(Typeable m, Typeable a) => ShowProxy (TxId (GenTx (DualBlock m a)) :: Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

showProxy :: Proxy (TxId (GenTx (DualBlock m a))) -> String #

ShowProxy (TxId (GenTx ByronBlock)) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

(Typeable era, Typeable proto) => ShowProxy (TxId (GenTx (ShelleyBlock proto era)) :: Type) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

showProxy :: Proxy (TxId (GenTx (ShelleyBlock proto era))) -> String #

(ShelleyBasedEra era, TranslateEra era (Tx 'TopTx)) => TranslateEra era (GenTx :.: ShelleyBlock proto) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

Associated Types

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

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

type TranslationError era (GenTx :.: ShelleyBlock proto) = TranslationError era (Tx 'TopTx)

Methods

translateEra :: TranslationContext era -> (GenTx :.: ShelleyBlock proto) (PreviousEra era) -> Except (TranslationError era (GenTx :.: ShelleyBlock proto)) ((GenTx :.: ShelleyBlock proto) era) Source #

ShelleyCompatible proto era => FromCBOR (GenTx (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

fromCBOR :: Decoder s (GenTx (ShelleyBlock proto era)) Source #

label :: Proxy (GenTx (ShelleyBlock proto era)) -> Text Source #

ShelleyCompatible proto era => ToCBOR (GenTx (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

toCBOR :: GenTx (ShelleyBlock proto era) -> Encoding Source #

encodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy (GenTx (ShelleyBlock proto era)) -> Size Source #

encodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy [GenTx (ShelleyBlock proto era)] -> Size Source #

(Typeable era, Typeable proto, Crypto (ProtoCrypto proto)) => DecCBOR (TxId (GenTx (ShelleyBlock proto era))) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

decCBOR :: Decoder s (TxId (GenTx (ShelleyBlock proto era))) Source #

dropCBOR :: Proxy (TxId (GenTx (ShelleyBlock proto era))) -> Decoder s () Source #

label :: Proxy (TxId (GenTx (ShelleyBlock proto era))) -> Text Source #

Crypto (ProtoCrypto proto) => EncCBOR (TxId (GenTx (ShelleyBlock proto era))) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

encCBOR :: TxId (GenTx (ShelleyBlock proto era)) -> Encoding Source #

CanHardFork xs => Eq (Validated (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Eq (Validated (GenTx ByronBlock)) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

ShelleyBasedEra era => Eq (Validated (GenTx (ShelleyBlock proto era))) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

(==) :: Validated (GenTx (ShelleyBlock proto era)) -> Validated (GenTx (ShelleyBlock proto era)) -> Bool Source #

(/=) :: Validated (GenTx (ShelleyBlock proto era)) -> Validated (GenTx (ShelleyBlock proto era)) -> Bool Source #

CanHardFork xs => Eq (GenTx (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Eq (GenTx ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

ShelleyBasedEra era => Eq (GenTx (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

(==) :: GenTx (ShelleyBlock proto era) -> GenTx (ShelleyBlock proto era) -> Bool Source #

(/=) :: GenTx (ShelleyBlock proto era) -> GenTx (ShelleyBlock proto era) -> Bool Source #

CanHardFork xs => Eq (TxId (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Eq (GenTxId m) => Eq (TxId (GenTx (DualBlock m a))) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

(==) :: TxId (GenTx (DualBlock m a)) -> TxId (GenTx (DualBlock m a)) -> Bool Source #

(/=) :: TxId (GenTx (DualBlock m a)) -> TxId (GenTx (DualBlock m a)) -> Bool Source #

Eq (TxId (GenTx ByronBlock)) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Eq (TxId (GenTx (ShelleyBlock proto era))) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

(==) :: TxId (GenTx (ShelleyBlock proto era)) -> TxId (GenTx (ShelleyBlock proto era)) -> Bool Source #

(/=) :: TxId (GenTx (ShelleyBlock proto era)) -> TxId (GenTx (ShelleyBlock proto era)) -> Bool Source #

CanHardFork xs => Ord (TxId (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Ord (GenTxId m) => Ord (TxId (GenTx (DualBlock m a))) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

compare :: TxId (GenTx (DualBlock m a)) -> TxId (GenTx (DualBlock m a)) -> Ordering Source #

(<) :: TxId (GenTx (DualBlock m a)) -> TxId (GenTx (DualBlock m a)) -> Bool Source #

(<=) :: TxId (GenTx (DualBlock m a)) -> TxId (GenTx (DualBlock m a)) -> Bool Source #

(>) :: TxId (GenTx (DualBlock m a)) -> TxId (GenTx (DualBlock m a)) -> Bool Source #

(>=) :: TxId (GenTx (DualBlock m a)) -> TxId (GenTx (DualBlock m a)) -> Bool Source #

max :: TxId (GenTx (DualBlock m a)) -> TxId (GenTx (DualBlock m a)) -> TxId (GenTx (DualBlock m a)) Source #

min :: TxId (GenTx (DualBlock m a)) -> TxId (GenTx (DualBlock m a)) -> TxId (GenTx (DualBlock m a)) Source #

Ord (TxId (GenTx ByronBlock)) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Ord (TxId (GenTx (ShelleyBlock proto era))) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

compare :: TxId (GenTx (ShelleyBlock proto era)) -> TxId (GenTx (ShelleyBlock proto era)) -> Ordering Source #

(<) :: TxId (GenTx (ShelleyBlock proto era)) -> TxId (GenTx (ShelleyBlock proto era)) -> Bool Source #

(<=) :: TxId (GenTx (ShelleyBlock proto era)) -> TxId (GenTx (ShelleyBlock proto era)) -> Bool Source #

(>) :: TxId (GenTx (ShelleyBlock proto era)) -> TxId (GenTx (ShelleyBlock proto era)) -> Bool Source #

(>=) :: TxId (GenTx (ShelleyBlock proto era)) -> TxId (GenTx (ShelleyBlock proto era)) -> Bool Source #

max :: TxId (GenTx (ShelleyBlock proto era)) -> TxId (GenTx (ShelleyBlock proto era)) -> TxId (GenTx (ShelleyBlock proto era)) Source #

min :: TxId (GenTx (ShelleyBlock proto era)) -> TxId (GenTx (ShelleyBlock proto era)) -> TxId (GenTx (ShelleyBlock proto era)) Source #

Generic (Validated (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Associated Types

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-3.0.1.0-fe666a6afd84f0ff8586a4e0c3c63fa45ab343959a9ba0ad1a50de70ba196952" 'True) (C1 ('MetaCons "HardForkValidatedGenTx" 'PrefixI 'True) (S1 ('MetaSel ('Just "getHardForkValidatedGenTx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OneEraValidatedGenTx xs))))
Generic (Validated (GenTx ByronBlock)) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Associated Types

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-3.0.1.0-l-cardano-f86c1f08ec538bbdd74f211c4ba323728cf5c84a255db435f9773273df9f421f" 'True) (C1 ('MetaCons "ValidatedByronTx" 'PrefixI 'True) (S1 ('MetaSel ('Just "forgetValidatedByronTx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (GenTx ByronBlock))))
Generic (Validated (GenTx (ShelleyBlock proto era))) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Associated Types

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-3.0.1.0-l-cardano-f86c1f08ec538bbdd74f211c4ba323728cf5c84a255db435f9773273df9f421f" 'False) (C1 ('MetaCons "ShelleyValidatedTx" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TxId) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Validated (Tx 'TopTx era)))))

Methods

from :: Validated (GenTx (ShelleyBlock proto era)) -> Rep (Validated (GenTx (ShelleyBlock proto era))) x Source #

to :: Rep (Validated (GenTx (ShelleyBlock proto era))) x -> Validated (GenTx (ShelleyBlock proto era)) Source #

Generic (GenTx (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Associated Types

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-3.0.1.0-fe666a6afd84f0ff8586a4e0c3c63fa45ab343959a9ba0ad1a50de70ba196952" 'True) (C1 ('MetaCons "HardForkGenTx" 'PrefixI 'True) (S1 ('MetaSel ('Just "getHardForkGenTx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OneEraGenTx xs))))
Generic (GenTx ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Generic (GenTx (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Associated Types

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-3.0.1.0-l-cardano-f86c1f08ec538bbdd74f211c4ba323728cf5c84a255db435f9773273df9f421f" 'False) (C1 ('MetaCons "ShelleyTx" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TxId) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Tx 'TopTx era))))

Methods

from :: GenTx (ShelleyBlock proto era) -> Rep (GenTx (ShelleyBlock proto era)) x Source #

to :: Rep (GenTx (ShelleyBlock proto era)) x -> GenTx (ShelleyBlock proto era) Source #

Generic (TxId (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Associated Types

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-3.0.1.0-fe666a6afd84f0ff8586a4e0c3c63fa45ab343959a9ba0ad1a50de70ba196952" 'True) (C1 ('MetaCons "HardForkGenTxId" 'PrefixI 'True) (S1 ('MetaSel ('Just "getHardForkGenTxId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OneEraGenTxId xs))))
CanHardFork xs => Show (Validated (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Bridge m a => Show (Validated (GenTx (DualBlock m a))) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Show (Validated (GenTx ByronBlock)) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

ShelleyBasedEra era => Show (Validated (GenTx (ShelleyBlock proto era))) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

showsPrec :: Int -> Validated (GenTx (ShelleyBlock proto era)) -> ShowS Source #

show :: Validated (GenTx (ShelleyBlock proto era)) -> String Source #

showList :: [Validated (GenTx (ShelleyBlock proto era))] -> ShowS Source #

CanHardFork xs => Show (GenTx (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Bridge m a => Show (GenTx (DualBlock m a)) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Show (GenTx ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

ShelleyBasedEra era => Show (GenTx (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

showsPrec :: Int -> GenTx (ShelleyBlock proto era) -> ShowS Source #

show :: GenTx (ShelleyBlock proto era) -> String Source #

showList :: [GenTx (ShelleyBlock proto era)] -> ShowS Source #

Show (GenTxId ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Show (GenTxId (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

showsPrec :: Int -> GenTxId (ShelleyBlock proto era) -> ShowS Source #

show :: GenTxId (ShelleyBlock proto era) -> String Source #

showList :: [GenTxId (ShelleyBlock proto era)] -> ShowS Source #

CanHardFork xs => Show (TxId (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Show (GenTxId m) => Show (TxId (GenTx (DualBlock m a))) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

CanHardFork xs => NoThunks (Validated (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Methods

noThunks :: Context -> Validated (GenTx (HardForkBlock xs)) -> IO (Maybe ThunkInfo) #

wNoThunks :: Context -> Validated (GenTx (HardForkBlock xs)) -> IO (Maybe ThunkInfo) #

showTypeOf :: Proxy (Validated (GenTx (HardForkBlock xs))) -> String #

NoThunks (Validated (GenTx (DualBlock m a))) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

noThunks :: Context -> Validated (GenTx (DualBlock m a)) -> IO (Maybe ThunkInfo) #

wNoThunks :: Context -> Validated (GenTx (DualBlock m a)) -> IO (Maybe ThunkInfo) #

showTypeOf :: Proxy (Validated (GenTx (DualBlock m a))) -> String #

NoThunks (Validated (GenTx ByronBlock)) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Methods

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

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

showTypeOf :: Proxy (Validated (GenTx ByronBlock)) -> String #

ShelleyBasedEra era => NoThunks (Validated (GenTx (ShelleyBlock proto era))) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

noThunks :: Context -> Validated (GenTx (ShelleyBlock proto era)) -> IO (Maybe ThunkInfo) #

wNoThunks :: Context -> Validated (GenTx (ShelleyBlock proto era)) -> IO (Maybe ThunkInfo) #

showTypeOf :: Proxy (Validated (GenTx (ShelleyBlock proto era))) -> String #

CanHardFork xs => NoThunks (GenTx (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Methods

noThunks :: Context -> GenTx (HardForkBlock xs) -> IO (Maybe ThunkInfo) #

wNoThunks :: Context -> GenTx (HardForkBlock xs) -> IO (Maybe ThunkInfo) #

showTypeOf :: Proxy (GenTx (HardForkBlock xs)) -> String #

NoThunks (GenTx (DualBlock m a)) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

noThunks :: Context -> GenTx (DualBlock m a) -> IO (Maybe ThunkInfo) #

wNoThunks :: Context -> GenTx (DualBlock m a) -> IO (Maybe ThunkInfo) #

showTypeOf :: Proxy (GenTx (DualBlock m a)) -> String #

NoThunks (GenTx ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Methods

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

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

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

ShelleyBasedEra era => NoThunks (GenTx (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

noThunks :: Context -> GenTx (ShelleyBlock proto era) -> IO (Maybe ThunkInfo) #

wNoThunks :: Context -> GenTx (ShelleyBlock proto era) -> IO (Maybe ThunkInfo) #

showTypeOf :: Proxy (GenTx (ShelleyBlock proto era)) -> String #

CanHardFork xs => NoThunks (TxId (GenTx (HardForkBlock xs))) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Methods

noThunks :: Context -> TxId (GenTx (HardForkBlock xs)) -> IO (Maybe ThunkInfo) #

wNoThunks :: Context -> TxId (GenTx (HardForkBlock xs)) -> IO (Maybe ThunkInfo) #

showTypeOf :: Proxy (TxId (GenTx (HardForkBlock xs))) -> String #

NoThunks (TxId (GenTx (DualBlock m a))) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

noThunks :: Context -> TxId (GenTx (DualBlock m a)) -> IO (Maybe ThunkInfo) #

wNoThunks :: Context -> TxId (GenTx (DualBlock m a)) -> IO (Maybe ThunkInfo) #

showTypeOf :: Proxy (TxId (GenTx (DualBlock m a))) -> String #

NoThunks (TxId (GenTx ByronBlock)) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Methods

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

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

showTypeOf :: Proxy (TxId (GenTx ByronBlock)) -> String #

NoThunks (TxId (GenTx (ShelleyBlock proto era))) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

noThunks :: Context -> TxId (GenTx (ShelleyBlock proto era)) -> IO (Maybe ThunkInfo) #

wNoThunks :: Context -> TxId (GenTx (ShelleyBlock proto era)) -> IO (Maybe ThunkInfo) #

showTypeOf :: Proxy (TxId (GenTx (ShelleyBlock proto era))) -> String #

ConvertRawTxId (GenTx ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

ShelleyBasedEra era => ConvertRawTxId (GenTx (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

toRawTxIdHash :: TxId (GenTx (ShelleyBlock proto era)) -> ShortByteString Source #

CanHardFork xs => HasTxId (GenTx (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

Bridge m a => HasTxId (GenTx (DualBlock m a)) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Methods

txId :: GenTx (DualBlock m a) -> TxId (GenTx (DualBlock m a)) Source #

HasTxId (GenTx ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

ShelleyBasedEra era => HasTxId (GenTx (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

txId :: GenTx (ShelleyBlock proto era) -> TxId (GenTx (ShelleyBlock proto era)) Source #

Condense (GenTx ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

ShelleyBasedEra era => Condense (GenTx (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

condense :: GenTx (ShelleyBlock proto era) -> String Source #

Condense (GenTxId ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

Condense (GenTxId (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

Methods

condense :: GenTxId (ShelleyBlock proto era) -> String Source #

SerialiseHFC xs => SerialiseNodeToClient (HardForkBlock xs) (GenTx (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Serialisation.SerialiseNodeToClient

SerialiseHFC xs => SerialiseNodeToClient (HardForkBlock xs) (GenTxId (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Serialisation.SerialiseNodeToClient

SerialiseHFC xs => SerialiseNodeToNode (HardForkBlock xs) (GenTx (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Serialisation.SerialiseNodeToNode

SerialiseHFC xs => SerialiseNodeToNode (HardForkBlock xs) (GenTxId (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Serialisation.SerialiseNodeToNode

ShelleyCompatible proto era => SerialiseNodeToClient (ShelleyBlock proto era) (GenTx (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

encodeNodeToClient :: CodecConfig (ShelleyBlock proto era) -> BlockNodeToClientVersion (ShelleyBlock proto era) -> GenTx (ShelleyBlock proto era) -> Encoding Source #

decodeNodeToClient :: CodecConfig (ShelleyBlock proto era) -> BlockNodeToClientVersion (ShelleyBlock proto era) -> forall s. Decoder s (GenTx (ShelleyBlock proto era)) Source #

ShelleyCompatible proto era => SerialiseNodeToClient (ShelleyBlock proto era) (GenTxId (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

encodeNodeToClient :: CodecConfig (ShelleyBlock proto era) -> BlockNodeToClientVersion (ShelleyBlock proto era) -> GenTxId (ShelleyBlock proto era) -> Encoding Source #

decodeNodeToClient :: CodecConfig (ShelleyBlock proto era) -> BlockNodeToClientVersion (ShelleyBlock proto era) -> forall s. Decoder s (GenTxId (ShelleyBlock proto era)) Source #

ShelleyCompatible proto era => SerialiseNodeToNode (ShelleyBlock proto era) (GenTx (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

encodeNodeToNode :: CodecConfig (ShelleyBlock proto era) -> BlockNodeToNodeVersion (ShelleyBlock proto era) -> GenTx (ShelleyBlock proto era) -> Encoding Source #

decodeNodeToNode :: CodecConfig (ShelleyBlock proto era) -> BlockNodeToNodeVersion (ShelleyBlock proto era) -> forall s. Decoder s (GenTx (ShelleyBlock proto era)) Source #

ShelleyCompatible proto era => SerialiseNodeToNode (ShelleyBlock proto era) (GenTxId (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Node.Serialisation

Methods

encodeNodeToNode :: CodecConfig (ShelleyBlock proto era) -> BlockNodeToNodeVersion (ShelleyBlock proto era) -> GenTxId (ShelleyBlock proto era) -> Encoding Source #

decodeNodeToNode :: CodecConfig (ShelleyBlock proto era) -> BlockNodeToNodeVersion (ShelleyBlock proto era) -> forall s. Decoder s (GenTxId (ShelleyBlock proto era)) Source #

data GenTx ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Mempool

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

Defined in Ouroboros.Consensus.Shelley.ShelleyHFC

type TranslationError era (GenTx :.: ShelleyBlock proto) = TranslationError era (Tx 'TopTx)
type Rep (Validated (GenTx (HardForkBlock xs))) Source # 
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-3.0.1.0-fe666a6afd84f0ff8586a4e0c3c63fa45ab343959a9ba0ad1a50de70ba196952" '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-3.0.1.0-l-cardano-f86c1f08ec538bbdd74f211c4ba323728cf5c84a255db435f9773273df9f421f" '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-3.0.1.0-l-cardano-f86c1f08ec538bbdd74f211c4ba323728cf5c84a255db435f9773273df9f421f" 'False) (C1 ('MetaCons "ShelleyValidatedTx" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TxId) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Validated (Tx 'TopTx era)))))
type Rep (GenTx (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

type Rep (GenTx (HardForkBlock xs)) = D1 ('MetaData "GenTx" "Ouroboros.Consensus.HardFork.Combinator.Mempool" "ouroboros-consensus-3.0.1.0-fe666a6afd84f0ff8586a4e0c3c63fa45ab343959a9ba0ad1a50de70ba196952" '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-3.0.1.0-l-cardano-f86c1f08ec538bbdd74f211c4ba323728cf5c84a255db435f9773273df9f421f" 'False) (C1 ('MetaCons "ShelleyTx" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TxId) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Tx 'TopTx era))))
type Rep (TxId (GenTx (HardForkBlock xs))) Source # 
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-3.0.1.0-fe666a6afd84f0ff8586a4e0c3c63fa45ab343959a9ba0ad1a50de70ba196952" 'True) (C1 ('MetaCons "HardForkGenTxId" 'PrefixI 'True) (S1 ('MetaSel ('Just "getHardForkGenTxId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (OneEraGenTxId xs))))
newtype Validated (GenTx (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

data Validated (GenTx (DualBlock m a)) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

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 !(Validated (Tx 'TopTx era))
newtype GenTx (HardForkBlock xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

newtype TxId (GenTx (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Mempool

newtype TxId (GenTx (DualBlock m a)) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

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
data GenTx (DualBlock m a) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

data GenTx (ShelleyBlock proto era) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Mempool

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

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
Error EraMismatch Source # 
Instance details

Defined in Cardano.Api.Internal.Orphans.Misc

Eq EraMismatch Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Generic EraMismatch Source # 
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-3.0.1.0-fe666a6afd84f0ff8586a4e0c3c63fa45ab343959a9ba0ad1a50de70ba196952" '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 Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

type Rep EraMismatch Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

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

class HasHardForkHistory blk where Source #

Associated Types

type HardForkIndices blk :: [Type] Source #

Type level description of the hard fork shape

The Summary infrastructure does not care what the types in this list are, it just cares how many eras there are. The hard fork combinator will instantiate HardForkIndices to the types of the blocks involved in the hard fork, e.g., we might have something like

'[ByronBlock, ShelleyBlock, GoguenBlock]

Methods

hardForkSummary :: forall (mk :: MapKind). LedgerConfig blk -> LedgerState blk mk -> Summary (HardForkIndices blk) Source #

Summary of the hard fork state

NOTE: HasHardForkHistory is the only abstraction that the consensus layer is aware in relation to potential hard forks, and is needed only for time translations (in block production and in the chain DB). It is independent from the hard fork combinator and can be used for blocks that never fork (in which case the Summary will be trivial) or indeed for blocks that do support transitions but do not use the hard fork combinator.

It is however useful to consider what this function means in the (typical) case that the hard fork combinator is used. The HFC introduces the concept of a partial ledger config, which is essentially the ledger config minus an EpochInfo. Whenever the HFC calls functions on the underlying ledger, it maintains enough state to be able to construct an EpochInfo on the fly and then combines that with the PartialLedgerConfig to get the full LedgerConfig. The config of the HFC itself however does not require an EpochInfo, and so the config that we pass here will not contain that EpochInfo (if it did, that would be strange: we'd be computing the Summary required to construct an EpochInfo while we already have one). Critically, the HFC implements hardForkSummary directly and does not call hardForkSummary in the underlying ledgers.

When running ledgers that are normally run using the HFC as standalone ledgers, then the LedgerConfig here must indeed already contain timing information, and so this function becomes little more than a projection (indeed, in this case the LedgerState should be irrelevant).

Instances

Instances details
HasHardForkHistory ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Ledger

All SingleEraBlock xs => HasHardForkHistory (HardForkBlock xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Ledger

Associated Types

type HardForkIndices (HardForkBlock xs) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Ledger

Bridge m a => HasHardForkHistory (DualBlock m a) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Associated Types

type HardForkIndices (DualBlock m a) 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

HasHardForkHistory (ShelleyBlock proto era) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

Associated Types

type HardForkIndices (ShelleyBlock proto era) 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Ledger

type HardForkIndices (ShelleyBlock proto era) = '[ShelleyBlock proto era]

Methods

hardForkSummary :: forall (mk :: MapKind). LedgerConfig (ShelleyBlock proto era) -> LedgerState (ShelleyBlock proto era) mk -> Summary (HardForkIndices (ShelleyBlock proto era)) Source #

class (StandardHash b, Typeable b) => HasHeader b #

Minimal complete definition

getHeaderFields

Instances

Instances details
HasHeader ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

CanHardFork xs => HasHeader (Header (HardForkBlock xs)) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Block

HasHeader (Header ByronBlock) # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

ShelleyCompatible proto era => HasHeader (Header (ShelleyBlock proto era)) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

getHeaderFields :: Header (ShelleyBlock proto era) -> HeaderFields (Header (ShelleyBlock proto era)) #

CanHardFork xs => HasHeader (HardForkBlock xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Block

(HasHeader (Header blk), StandardHash (HeaderWithTime blk), Typeable blk) => HasHeader (HeaderWithTime blk) Source # 
Instance details

Defined in Ouroboros.Consensus.HeaderValidation

Bridge m a => HasHeader (DualBlock m a) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

Bridge m a => HasHeader (DualHeader m a) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

ShelleyCompatible proto era => HasHeader (ShelleyBlock proto era) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

Methods

getHeaderFields :: ShelleyBlock proto era -> HeaderFields (ShelleyBlock proto era) #

(StandardHash b, Typeable b, Typeable k) => HasHeader (HeaderFields b) # 
Instance details

Defined in Ouroboros.Network.Block

type family HeaderHash (b :: k) #

Instances

Instances details
type HeaderHash ByronBlock # 
Instance details

Defined in Ouroboros.Consensus.Byron.Ledger.Block

type HeaderHash ByronBlock = ByronHash
type HeaderHash RawBlockHash # 
Instance details

Defined in Ouroboros.Network.PeerSelection.LedgerPeers.Type

type HeaderHash (Header blk :: Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.Abstract

type HeaderHash (Header blk :: Type) = HeaderHash blk
type HeaderHash (HardForkBlock xs :: Type) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Basics

type HeaderHash (HeaderWithTime blk :: Type) Source # 
Instance details

Defined in Ouroboros.Consensus.HeaderValidation

type HeaderHash (SerialisedHeader blk :: Type) Source #

Only needed for the ChainSyncServer

Instance details

Defined in Ouroboros.Consensus.Storage.Serialisation

type HeaderHash (DualBlock m a :: Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Dual

type HeaderHash (WithPoint blk b :: Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Storage.ChainDB.API

type HeaderHash (WithPoint blk b :: Type) = HeaderHash blk
type HeaderHash (Forker m l :: Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Storage.LedgerDB.Forker

type HeaderHash (Forker m l :: Type) = HeaderHash l
type HeaderHash (ReadOnlyForker m l :: Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Storage.LedgerDB.Forker

type HeaderHash (ShelleyBlock proto era :: Type) # 
Instance details

Defined in Ouroboros.Consensus.Shelley.Ledger.Block

type HeaderHash (ShelleyBlock proto era :: Type) = ShelleyHash
type HeaderHash (HeaderFields b :: Type) # 
Instance details

Defined in Ouroboros.Network.Block

type HeaderHash (Serialised block :: Type) # 
Instance details

Defined in Ouroboros.Network.Block

type HeaderHash (Serialised block :: Type) = HeaderHash block
type HeaderHash (Ticked l :: k) Source # 
Instance details

Defined in Ouroboros.Consensus.Ticked

type HeaderHash (Ticked l :: k) = HeaderHash l
type HeaderHash (LedgerDB m l blk :: Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Storage.LedgerDB.API

type HeaderHash (LedgerDB m l blk :: Type) = HeaderHash blk
type HeaderHash (LedgerState blk :: MapKind -> Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Basics

type HeaderHash (ExtLedgerState blk :: MapKind -> Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Ledger.Extended

type HeaderHash (K (DbChangelog l) :: MapKind -> Type) Source # 
Instance details

Defined in Ouroboros.Consensus.Storage.LedgerDB.V1.DbChangelog

newtype OneEraHash (xs :: [k]) Source #

The hash for an era

This type is special: we don't use an NS here, because the hash by itself should not allow us to differentiate between eras. If it did, the size of the hash would necessarily have to increase, and that leads to trouble. So, the type parameter xs here is merely a phantom one, and we just store the underlying raw hash.

Constructors

OneEraHash 

Instances

Instances details
ToJSON (OneEraHash xs) Source # 
Instance details

Defined in Cardano.Api.Internal.Orphans.Serialisation

Methods

toJSON :: OneEraHash xs -> Value #

toEncoding :: OneEraHash xs -> Encoding #

toJSONList :: [OneEraHash xs] -> Value #

toEncodingList :: [OneEraHash xs] -> Encoding #

omitField :: OneEraHash xs -> Bool #

(Typeable k, Typeable xs) => FromCBOR (OneEraHash xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

(Typeable k, Typeable xs) => ToCBOR (OneEraHash xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

toCBOR :: OneEraHash xs -> Encoding Source #

encodedSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy (OneEraHash xs) -> Size Source #

encodedListSizeExpr :: (forall t. ToCBOR t => Proxy t -> Size) -> Proxy [OneEraHash xs] -> Size Source #

NFData (OneEraHash xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

rnf :: OneEraHash xs -> () Source #

Eq (OneEraHash xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

(==) :: OneEraHash xs -> OneEraHash xs -> Bool Source #

(/=) :: OneEraHash xs -> OneEraHash xs -> Bool Source #

Ord (OneEraHash xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Show (OneEraHash xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

NoThunks (OneEraHash xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Methods

noThunks :: Context -> OneEraHash xs -> IO (Maybe ThunkInfo) #

wNoThunks :: Context -> OneEraHash xs -> IO (Maybe ThunkInfo) #

showTypeOf :: Proxy (OneEraHash xs) -> String #

Condense (OneEraHash xs) Source # 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

Serialise (OneEraHash xs) 
Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.AcrossEras

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.

class ConsensusProtocol p => PraosProtocolSupportsNode p #

Minimal complete definition

getPraosNonces, getOpCertCounters

Instances

Instances details
PraosCrypto c => PraosProtocolSupportsNode (Praos c) # 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos

Associated Types

type PraosProtocolSupportsNodeCrypto (Praos c) 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos

Methods

getPraosNonces :: proxy (Praos c) -> ChainDepState (Praos c) -> PraosNonces

getOpCertCounters :: proxy (Praos c) -> ChainDepState (Praos c) -> Map (KeyHash 'BlockIssuer) Word64 #

PraosCrypto c => PraosProtocolSupportsNode (TPraos c) # 
Instance details

Defined in Ouroboros.Consensus.Protocol.TPraos

Associated Types

type PraosProtocolSupportsNodeCrypto (TPraos c) 
Instance details

Defined in Ouroboros.Consensus.Protocol.TPraos

Methods

getPraosNonces :: proxy (TPraos c) -> ChainDepState (TPraos c) -> PraosNonces

getOpCertCounters :: proxy (TPraos c) -> ChainDepState (TPraos c) -> Map (KeyHash 'BlockIssuer) Word64 #

type family PraosProtocolSupportsNodeCrypto p #

Instances

Instances details
type PraosProtocolSupportsNodeCrypto (Praos c) # 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos

type PraosProtocolSupportsNodeCrypto (TPraos c) # 
Instance details

Defined in Ouroboros.Consensus.Protocol.TPraos

data RealPoint blk Source #

Point of an actual block (i.e., not genesis)

Constructors

RealPoint !SlotNo !(HeaderHash blk) 

Instances

Instances details
StandardHash blk => Eq (RealPoint blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.RealPoint

Methods

(==) :: RealPoint blk -> RealPoint blk -> Bool Source #

(/=) :: RealPoint blk -> RealPoint blk -> Bool Source #

StandardHash blk => Ord (RealPoint blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.RealPoint

Methods

compare :: RealPoint blk -> RealPoint blk -> Ordering Source #

(<) :: RealPoint blk -> RealPoint blk -> Bool Source #

(<=) :: RealPoint blk -> RealPoint blk -> Bool Source #

(>) :: RealPoint blk -> RealPoint blk -> Bool Source #

(>=) :: RealPoint blk -> RealPoint blk -> Bool Source #

max :: RealPoint blk -> RealPoint blk -> RealPoint blk Source #

min :: RealPoint blk -> RealPoint blk -> RealPoint blk Source #

Generic (RealPoint blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.RealPoint

Associated Types

type Rep (RealPoint blk) 
Instance details

Defined in Ouroboros.Consensus.Block.RealPoint

type Rep (RealPoint blk) = D1 ('MetaData "RealPoint" "Ouroboros.Consensus.Block.RealPoint" "ouroboros-consensus-3.0.1.0-fe666a6afd84f0ff8586a4e0c3c63fa45ab343959a9ba0ad1a50de70ba196952" 'False) (C1 ('MetaCons "RealPoint" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 SlotNo) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (HeaderHash blk))))

Methods

from :: RealPoint blk -> Rep (RealPoint blk) x Source #

to :: Rep (RealPoint blk) x -> RealPoint blk Source #

StandardHash blk => Show (RealPoint blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.RealPoint

(StandardHash blk, Typeable blk) => NoThunks (RealPoint blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.RealPoint

Methods

noThunks :: Context -> RealPoint blk -> IO (Maybe ThunkInfo) #

wNoThunks :: Context -> RealPoint blk -> IO (Maybe ThunkInfo) #

showTypeOf :: Proxy (RealPoint blk) -> String #

Condense (HeaderHash blk) => Condense (RealPoint blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.RealPoint

Methods

condense :: RealPoint blk -> String Source #

type Rep (RealPoint blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Block.RealPoint

type Rep (RealPoint blk) = D1 ('MetaData "RealPoint" "Ouroboros.Consensus.Block.RealPoint" "ouroboros-consensus-3.0.1.0-fe666a6afd84f0ff8586a4e0c3c63fa45ab343959a9ba0ad1a50de70ba196952" 'False) (C1 ('MetaCons "RealPoint" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 SlotNo) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (HeaderHash blk))))

data ShelleyGenesisStaking 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) StakePoolParams

    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) (KeyHash 'StakePool)

    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
FromJSON ShelleyGenesisStaking Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

ToJSON ShelleyGenesisStaking Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

DecCBOR ShelleyGenesisStaking Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

EncCBOR ShelleyGenesisStaking Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

ToKeyValuePairs ShelleyGenesisStaking Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Methods

toKeyValuePairs :: KeyValue e kv => ShelleyGenesisStaking -> [kv] Source #

NFData ShelleyGenesisStaking Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Monoid ShelleyGenesisStaking Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Semigroup ShelleyGenesisStaking Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Eq ShelleyGenesisStaking Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Generic ShelleyGenesisStaking Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Associated Types

type Rep ShelleyGenesisStaking 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

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

Defined in Cardano.Ledger.Shelley.Genesis

NoThunks ShelleyGenesisStaking Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Methods

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

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

showTypeOf :: Proxy ShelleyGenesisStaking -> String #

type Rep ShelleyGenesisStaking Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

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

data StandardCrypto Source #

The same crypto used on the net

Instances

Instances details
Crypto StandardCrypto Source # 
Instance details

Defined in Cardano.Protocol.Crypto

Associated Types

type KES StandardCrypto 
Instance details

Defined in Cardano.Protocol.Crypto

type VRF StandardCrypto 
Instance details

Defined in Cardano.Protocol.Crypto

PraosCrypto StandardCrypto Source # 
Instance details

Defined in Cardano.Protocol.TPraos.API

PraosCrypto StandardCrypto # 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos

AgentCrypto StandardCrypto # 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos.AgentClient

Associated Types

type ACrypto StandardCrypto 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos.AgentClient

type ACrypto StandardCrypto = StandardCrypto
(CardanoHardForkConstraints StandardCrypto, IOLike m, MonadKESAgent m) => Protocol m (CardanoBlock StandardCrypto) Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

(IOLike m, LedgerSupportsProtocol (ShelleyBlock (TPraos StandardCrypto) ShelleyEra), MonadKESAgent m) => Protocol m (ShelleyBlockHFC (TPraos StandardCrypto) ShelleyEra) Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

Associated Types

data ProtocolInfoArgs (ShelleyBlockHFC (TPraos StandardCrypto) ShelleyEra) 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

data ProtocolInfoArgs (ShelleyBlockHFC (TPraos StandardCrypto) ShelleyEra) = ProtocolInfoArgsShelley ShelleyGenesis (ProtocolParamsShelleyBased StandardCrypto) ProtVer

Methods

protocolInfo :: ProtocolInfoArgs (ShelleyBlockHFC (TPraos StandardCrypto) ShelleyEra) -> (ProtocolInfo (ShelleyBlockHFC (TPraos StandardCrypto) ShelleyEra), Tracer m KESAgentClientTrace -> m [MkBlockForging m (ShelleyBlockHFC (TPraos StandardCrypto) ShelleyEra)]) Source #

CardanoHardForkConstraints StandardCrypto => ProtocolClient (CardanoBlock StandardCrypto) Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

LedgerSupportsProtocol (ShelleyBlock (TPraos StandardCrypto) ShelleyEra) => ProtocolClient (ShelleyBlockHFC (TPraos StandardCrypto) ShelleyEra) Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

Associated Types

data ProtocolClientInfoArgs (ShelleyBlockHFC (TPraos StandardCrypto) ShelleyEra) 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

type KES StandardCrypto Source # 
Instance details

Defined in Cardano.Protocol.Crypto

type VRF StandardCrypto Source # 
Instance details

Defined in Cardano.Protocol.Crypto

type ACrypto StandardCrypto # 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos.AgentClient

type ACrypto StandardCrypto = StandardCrypto
data ProtocolClientInfoArgs (CardanoBlock StandardCrypto) Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

data ProtocolInfoArgs (CardanoBlock StandardCrypto) Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

data ProtocolClientInfoArgs (ShelleyBlockHFC (TPraos StandardCrypto) ShelleyEra) Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

data ProtocolInfoArgs (ShelleyBlockHFC (TPraos StandardCrypto) ShelleyEra) Source # 
Instance details

Defined in Cardano.Api.Consensus.Internal.Protocol

data ProtocolInfoArgs (ShelleyBlockHFC (TPraos StandardCrypto) ShelleyEra) = ProtocolInfoArgsShelley ShelleyGenesis (ProtocolParamsShelleyBased StandardCrypto) ProtVer

data TopLevelConfig blk Source #

The top-level node configuration

Instances

Instances details
Isomorphic TopLevelConfig Source #

Projection/injection for TopLevelConfig

NOTE: We do not define one for LedgerConfig or ConsensusConfig, since we need the EraParams for their injections, which we can only derive if we have the top-level config.

Instance details

Defined in Ouroboros.Consensus.HardFork.Combinator.Embed.Unary

Generic (TopLevelConfig blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Config

Associated Types

type Rep (TopLevelConfig blk) 
Instance details

Defined in Ouroboros.Consensus.Config

type Rep (TopLevelConfig blk) = D1 ('MetaData "TopLevelConfig" "Ouroboros.Consensus.Config" "ouroboros-consensus-3.0.1.0-fe666a6afd84f0ff8586a4e0c3c63fa45ab343959a9ba0ad1a50de70ba196952" 'False) (C1 ('MetaCons "TopLevelConfig" 'PrefixI 'True) ((S1 ('MetaSel ('Just "topLevelConfigProtocol") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ConsensusConfig (BlockProtocol blk))) :*: (S1 ('MetaSel ('Just "topLevelConfigLedger") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (LedgerConfig blk)) :*: S1 ('MetaSel ('Just "topLevelConfigBlock") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (BlockConfig blk)))) :*: (S1 ('MetaSel ('Just "topLevelConfigCodec") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (CodecConfig blk)) :*: (S1 ('MetaSel ('Just "topLevelConfigStorage") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StorageConfig blk)) :*: S1 ('MetaSel ('Just "topLevelConfigCheckpoints") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (CheckpointsMap blk))))))
(ConsensusProtocol (BlockProtocol blk), NoThunks (LedgerConfig blk), NoThunks (BlockConfig blk), NoThunks (CodecConfig blk), NoThunks (StorageConfig blk), NoThunks (HeaderHash blk)) => NoThunks (TopLevelConfig blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Config

Methods

noThunks :: Context -> TopLevelConfig blk -> IO (Maybe ThunkInfo) #

wNoThunks :: Context -> TopLevelConfig blk -> IO (Maybe ThunkInfo) #

showTypeOf :: Proxy (TopLevelConfig blk) -> String #

type Rep (TopLevelConfig blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Config

type Rep (TopLevelConfig blk) = D1 ('MetaData "TopLevelConfig" "Ouroboros.Consensus.Config" "ouroboros-consensus-3.0.1.0-fe666a6afd84f0ff8586a4e0c3c63fa45ab343959a9ba0ad1a50de70ba196952" 'False) (C1 ('MetaCons "TopLevelConfig" 'PrefixI 'True) ((S1 ('MetaSel ('Just "topLevelConfigProtocol") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ConsensusConfig (BlockProtocol blk))) :*: (S1 ('MetaSel ('Just "topLevelConfigLedger") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (LedgerConfig blk)) :*: S1 ('MetaSel ('Just "topLevelConfigBlock") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (BlockConfig blk)))) :*: (S1 ('MetaSel ('Just "topLevelConfigCodec") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (CodecConfig blk)) :*: (S1 ('MetaSel ('Just "topLevelConfigStorage") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StorageConfig blk)) :*: S1 ('MetaSel ('Just "topLevelConfigCheckpoints") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (CheckpointsMap blk))))))

blockNo :: HasHeader b => b -> BlockNo #

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

Construct an EpochInfo for a snapshot of the ledger state

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

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.

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.