Ouroboros.Consensus.Shelley.Node.Serialisation
Contents
Methods
reconstructPrefixLen ∷ proxy (Header (ShelleyBlock proto era)) → PrefixLen Source #
reconstructNestedCtxt ∷ proxy (Header (ShelleyBlock proto era)) → ShortByteString → SizeInBytes → SomeSecond (NestedCtxt Header) (ShelleyBlock proto era) Source #
encodeBlockQueryResult ∷ ∀ (fp ∷ QueryFootprint) result. CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → BlockQuery (ShelleyBlock proto era) fp result → result → Encoding Source #
decodeBlockQueryResult ∷ ∀ (fp ∷ QueryFootprint) result. CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → BlockQuery (ShelleyBlock proto era) fp result → ∀ s. Decoder s result Source #
decodeDiskDep ∷ CodecConfig (ShelleyBlock proto era) → NestedCtxt Header (ShelleyBlock proto era) a → ∀ s. Decoder s (ByteString → a) Source #
decodeDiskDepIx ∷ CodecConfig (ShelleyBlock proto era) → Decoder s (SomeSecond (NestedCtxt Header) (ShelleyBlock proto era)) Source #
encodeDiskDep ∷ CodecConfig (ShelleyBlock proto era) → NestedCtxt Header (ShelleyBlock proto era) a → a → Encoding Source #
encodeDiskDepIx ∷ CodecConfig (ShelleyBlock proto era) → SomeSecond (NestedCtxt Header) (ShelleyBlock proto era) → Encoding Source #
estimateBlockSize ∷ Header (ShelleyBlock proto era) → SizeInBytes Source #
getBinaryBlockInfo ∷ ShelleyBlock proto era → BinaryBlockInfo Source #
encodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → SlotNo → Encoding Source #
decodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → ∀ s. Decoder s SlotNo Source #
ChainDepState (BlockProtocol (ShelleyBlock era))
ChainDepState
BlockProtocol
ShelleyBlock
decodeDisk ∷ CodecConfig (ShelleyBlock proto era) → ∀ s. Decoder s PraosState Source #
decodeDisk ∷ CodecConfig (ShelleyBlock proto era) → ∀ s. Decoder s TPraosState Source #
encodeDisk ∷ CodecConfig (ShelleyBlock proto era) → PraosState → Encoding Source #
encodeDisk ∷ CodecConfig (ShelleyBlock proto era) → TPraosState → Encoding Source #
ApplyTxErr '(ShelleyBlock era)'
ApplyTxErr
encodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → ApplyTxError era → Encoding Source #
decodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → ∀ s. Decoder s (ApplyTxError era) Source #
encodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → SomeBlockQuery (BlockQuery (ShelleyBlock proto era)) → Encoding Source #
decodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → ∀ s. Decoder s (SomeBlockQuery (BlockQuery (ShelleyBlock proto era))) Source #
Uses CBOR-in-CBOR in the To/FromCBOR instances to get the annotation.
To/FromCBOR
encodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → GenTx (ShelleyBlock proto era) → Encoding Source #
decodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → ∀ s. Decoder s (GenTx (ShelleyBlock proto era)) Source #
encodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → GenTxId (ShelleyBlock proto era) → Encoding Source #
decodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → ∀ s. Decoder s (GenTxId (ShelleyBlock proto era)) Source #
This instance uses the invariant that the EpochInfo in a ShelleyLedgerConfig is fixed i.e. has a constant EpochSize and SlotLength. This is not true in the case of the HFC in a ShelleyPartialLedgerConfig, but that is handled correctly in the respective SerialiseNodeToClient instance for ShelleyPartialLedgerConfig.
EpochInfo
ShelleyLedgerConfig
EpochSize
SlotLength
ShelleyPartialLedgerConfig
SerialiseNodeToClient
encodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → ShelleyLedgerConfig era → Encoding Source #
decodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → ∀ s. Decoder s (ShelleyLedgerConfig era) Source #
This instance uses the invariant that the EpochInfo in a ShelleyPartialLedgerConfig is always just a dummy value.
encodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → ShelleyPartialLedgerConfig era → Encoding Source #
decodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → ∀ s. Decoder s (ShelleyPartialLedgerConfig era) Source #
CBOR-in-CBOR to be compatible with the wrapped (Serialised) variant.
Serialised
encodeNodeToNode ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToNodeVersion (ShelleyBlock proto era) → Header (ShelleyBlock proto era) → Encoding Source #
decodeNodeToNode ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToNodeVersion (ShelleyBlock proto era) → ∀ s. Decoder s (Header (ShelleyBlock proto era)) Source #
The To/FromCBOR instances defined in cardano-ledger use CBOR-in-CBOR to get the annotation.
cardano-ledger
encodeNodeToNode ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToNodeVersion (ShelleyBlock proto era) → GenTx (ShelleyBlock proto era) → Encoding Source #
decodeNodeToNode ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToNodeVersion (ShelleyBlock proto era) → ∀ s. Decoder s (GenTx (ShelleyBlock proto era)) Source #
encodeNodeToNode ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToNodeVersion (ShelleyBlock proto era) → GenTxId (ShelleyBlock proto era) → Encoding Source #
decodeNodeToNode ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToNodeVersion (ShelleyBlock proto era) → ∀ s. Decoder s (GenTxId (ShelleyBlock proto era)) Source #
We use CBOR-in-CBOR
encodeNodeToNode ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToNodeVersion (ShelleyBlock proto era) → SerialisedHeader (ShelleyBlock proto era) → Encoding Source #
decodeNodeToNode ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToNodeVersion (ShelleyBlock proto era) → ∀ s. Decoder s (SerialisedHeader (ShelleyBlock proto era)) Source #
decodeDisk ∷ CodecConfig (ShelleyBlock proto era) → ∀ s. Decoder s (AnnTip (ShelleyBlock proto era)) Source #
encodeDisk ∷ CodecConfig (ShelleyBlock proto era) → Header (ShelleyBlock proto era) → Encoding Source #
encodeDisk ∷ CodecConfig (ShelleyBlock proto era) → AnnTip (ShelleyBlock proto era) → Encoding Source #
CBOR-in-CBOR for the annotation. This also makes it compatible with the wrapped (Serialised) variant.
encodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → ShelleyBlock proto era → Encoding Source #
decodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → ∀ s. Decoder s (ShelleyBlock proto era) Source #
Serialised uses CBOR-in-CBOR by default.
encodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → Serialised (ShelleyBlock proto era) → Encoding Source #
decodeNodeToClient ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToClientVersion (ShelleyBlock proto era) → ∀ s. Decoder s (Serialised (ShelleyBlock proto era)) Source #
encodeNodeToNode ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToNodeVersion (ShelleyBlock proto era) → ShelleyBlock proto era → Encoding Source #
decodeNodeToNode ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToNodeVersion (ShelleyBlock proto era) → ∀ s. Decoder s (ShelleyBlock proto era) Source #
encodeNodeToNode ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToNodeVersion (ShelleyBlock proto era) → Serialised (ShelleyBlock proto era) → Encoding Source #
decodeNodeToNode ∷ CodecConfig (ShelleyBlock proto era) → BlockNodeToNodeVersion (ShelleyBlock proto era) → ∀ s. Decoder s (Serialised (ShelleyBlock proto era)) Source #
decodeDisk ∷ CodecConfig (ShelleyBlock proto era) → ∀ s. Decoder s (LedgerState (ShelleyBlock proto era) EmptyMK) Source #
decodeDisk ∷ CodecConfig (ShelleyBlock proto era) → ∀ s. Decoder s (ByteString → Header (ShelleyBlock proto era)) Source #
decodeDisk ∷ CodecConfig (ShelleyBlock proto era) → ∀ s. Decoder s (ByteString → ShelleyBlock proto era) Source #
encodeDisk ∷ CodecConfig (ShelleyBlock proto era) → LedgerState (ShelleyBlock proto era) EmptyMK → Encoding Source #
encodeDisk ∷ CodecConfig (ShelleyBlock proto era) → ShelleyBlock proto era → Encoding Source #