Safe Haskell | None |
---|---|
Language | Haskell2010 |
Ouroboros.Consensus.Shelley.Ledger.Block
Contents
Synopsis
- class (PraosCrypto (Crypto era), ShelleyBased era, GetLedgerView era, ApplyBlock era, ApplyTx era) => ShelleyBasedEra era
- newtype ShelleyHash c = ShelleyHash {
- unShelleyHash :: HashHeader c
- data ShelleyBlock era = ShelleyBlock {
- shelleyBlockRaw :: !(Block era)
- shelleyBlockHeaderHash :: !(ShelleyHash (EraCrypto era))
- mkShelleyBlock :: ShelleyBasedEra era => Block era -> ShelleyBlock era
- class HasHeader (Header blk) => GetHeader blk where
- getHeader :: blk -> Header blk
- blockMatchesHeader :: Header blk -> blk -> Bool
- headerIsEBB :: Header blk -> Maybe EpochNo
- data family Header blk
- mkShelleyHeader :: ShelleyBasedEra era => BHeader (EraCrypto era) -> Header (ShelleyBlock era)
- data family NestedCtxt_ blk :: (Type -> Type) -> Type -> Type
- encodeShelleyBlock :: ShelleyBasedEra era => ShelleyBlock era -> Encoding
- decodeShelleyBlock :: ShelleyBasedEra era => Decoder s (ByteString -> ShelleyBlock era)
- shelleyBinaryBlockInfo :: ShelleyBasedEra era => ShelleyBlock era -> BinaryBlockInfo
- encodeShelleyHeader :: ShelleyBasedEra era => Header (ShelleyBlock era) -> Encoding
- decodeShelleyHeader :: ShelleyBasedEra era => Decoder s (ByteString -> Header (ShelleyBlock era))
- fromShelleyPrevHash :: PrevHash (EraCrypto era) -> ChainHash (ShelleyBlock era)
- toShelleyPrevHash :: ChainHash (Header (ShelleyBlock era)) -> PrevHash (EraCrypto era)
Documentation
class (PraosCrypto (Crypto era), ShelleyBased era, GetLedgerView era, ApplyBlock era, ApplyTx era) => ShelleyBasedEra era Source #
Instances
PraosCrypto crypto => ShelleyBasedEra (ShelleyEra crypto) | |
Defined in Shelley.Spec.Ledger.API |
newtype ShelleyHash c Source #
Constructors
ShelleyHash | |
Fields
|
Instances
data ShelleyBlock era Source #
Newtype wrapper to avoid orphan instances
The phantom type parameter is there to record the additional information we need to work with this block. Most of the code here does not care, but we may need different additional information when running the chain.
Constructors
ShelleyBlock | |
Fields
|
Instances
mkShelleyBlock :: ShelleyBasedEra era => Block era -> ShelleyBlock era Source #
class HasHeader (Header blk) => GetHeader blk where Source #
Methods
getHeader :: blk -> Header blk Source #
blockMatchesHeader :: Header blk -> blk -> Bool Source #
Check whether the header is the header of the block.
For example, by checking whether the hash of the body stored in the header matches that of the block.
headerIsEBB :: Header blk -> Maybe EpochNo Source #
When the given header is the header of an Epoch Boundary Block, returns its epoch number.
Instances
ShelleyBasedEra era => GetHeader (ShelleyBlock era) Source # | |
Defined in Ouroboros.Consensus.Shelley.Ledger.Block Methods getHeader :: ShelleyBlock era -> Header (ShelleyBlock era) Source # blockMatchesHeader :: Header (ShelleyBlock era) -> ShelleyBlock era -> Bool Source # headerIsEBB :: Header (ShelleyBlock era) -> Maybe EpochNo Source # |
data family Header blk Source #
Instances
mkShelleyHeader :: ShelleyBasedEra era => BHeader (EraCrypto era) -> Header (ShelleyBlock era) Source #
data family NestedCtxt_ blk :: (Type -> Type) -> Type -> Type Source #
Context identifying what kind of block we have
In almost all places we will use NestedCtxt
rather than NestedCtxt_
.
Instances
Serialisation
encodeShelleyBlock :: ShelleyBasedEra era => ShelleyBlock era -> Encoding Source #
decodeShelleyBlock :: ShelleyBasedEra era => Decoder s (ByteString -> ShelleyBlock era) Source #
shelleyBinaryBlockInfo :: ShelleyBasedEra era => ShelleyBlock era -> BinaryBlockInfo Source #
encodeShelleyHeader :: ShelleyBasedEra era => Header (ShelleyBlock era) -> Encoding Source #
decodeShelleyHeader :: ShelleyBasedEra era => Decoder s (ByteString -> Header (ShelleyBlock era)) Source #
Conversion
fromShelleyPrevHash :: PrevHash (EraCrypto era) -> ChainHash (ShelleyBlock era) Source #
From cardano-ledger-specs
to ouroboros-consensus
toShelleyPrevHash :: ChainHash (Header (ShelleyBlock era)) -> PrevHash (EraCrypto era) Source #
From ouroboros-consensus
to cardano-ledger-specs