cardano-ledger-byron-0.1.0.0: The blockchain layer of Cardano during the Byron era
Safe Haskell None
Language Haskell2010

Cardano.Chain.Update.Validation.Registration

Description

Validation rules for registering updates

This is an implementation of the rules defined in the Byron ledger specification

Synopsis

Documentation

data Error Source #

Error captures the ways in which registration could fail

data State Source #

State keeps track of registered protocol and software update proposals

data ApplicationVersion Source #

Instances

Instances details
Eq ApplicationVersion Source #
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Show ApplicationVersion Source #
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Generic ApplicationVersion Source #
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

NFData ApplicationVersion Source #
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

ToCBOR ApplicationVersion Source #
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

FromCBOR ApplicationVersion Source #
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

NoThunks ApplicationVersion Source #
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

type Rep ApplicationVersion Source #
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

type Rep ApplicationVersion = D1 (' MetaData "ApplicationVersion" "Cardano.Chain.Update.Validation.Registration" "cardano-ledger-byron-0.1.0.0-1U5kXR8zMRrE7QjCz70XVD" ' False ) ( C1 (' MetaCons "ApplicationVersion" ' PrefixI ' True ) ( S1 (' MetaSel (' Just "avNumSoftwareVersion") ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 NumSoftwareVersion ) :*: ( S1 (' MetaSel (' Just "avSlotNumber") ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 SlotNumber ) :*: S1 (' MetaSel (' Just "avMetadata") ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 Metadata ))))

data ProtocolUpdateProposal Source #

Instances

Instances details
Eq ProtocolUpdateProposal Source #
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Show ProtocolUpdateProposal Source #
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Generic ProtocolUpdateProposal Source #
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

NFData ProtocolUpdateProposal Source #
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

ToCBOR ProtocolUpdateProposal Source #
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

FromCBOR ProtocolUpdateProposal Source #
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

NoThunks ProtocolUpdateProposal Source #
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

type Rep ProtocolUpdateProposal Source #
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

type Rep ProtocolUpdateProposal = D1 (' MetaData "ProtocolUpdateProposal" "Cardano.Chain.Update.Validation.Registration" "cardano-ledger-byron-0.1.0.0-1U5kXR8zMRrE7QjCz70XVD" ' False ) ( C1 (' MetaCons "ProtocolUpdateProposal" ' PrefixI ' True ) ( S1 (' MetaSel (' Just "pupProtocolVersion") ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 ProtocolVersion ) :*: S1 (' MetaSel (' Just "pupProtocolParameters") ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 ProtocolParameters )))

data SoftwareUpdateProposal Source #

Instances

Instances details
Eq SoftwareUpdateProposal Source #
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Show SoftwareUpdateProposal Source #
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Generic SoftwareUpdateProposal Source #
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

NFData SoftwareUpdateProposal Source #
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

ToCBOR SoftwareUpdateProposal Source #
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

FromCBOR SoftwareUpdateProposal Source #
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

NoThunks SoftwareUpdateProposal Source #
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

type Rep SoftwareUpdateProposal Source #
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

type Rep SoftwareUpdateProposal = D1 (' MetaData "SoftwareUpdateProposal" "Cardano.Chain.Update.Validation.Registration" "cardano-ledger-byron-0.1.0.0-1U5kXR8zMRrE7QjCz70XVD" ' False ) ( C1 (' MetaCons "SoftwareUpdateProposal" ' PrefixI ' True ) ( S1 (' MetaSel (' Just "supSoftwareVersion") ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 SoftwareVersion ) :*: S1 (' MetaSel (' Just "supSoftwareMetadata") ' NoSourceUnpackedness ' SourceStrict ' DecidedStrict ) ( Rec0 Metadata )))

registerProposal :: MonadError Error m => Environment -> State -> AProposal ByteString -> m State Source #

Register an update proposal after verifying its signature and validating its contents. This corresponds to the UPREG rules in the spec.