cardano-ledger-byron-1.3.0.0: The blockchain layer of Cardano during the Byron era
Safe HaskellNone
LanguageHaskell2010

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

Instances

Instances details
FromCBOR Error Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

ToCBOR Error Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Methods

toCBORErrorEncoding Source #

encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy ErrorSize Source #

encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [Error] → Size Source #

DecCBOR Error Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

EncCBOR Error Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Methods

encCBORErrorEncoding Source #

Show Error Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Methods

showsPrecIntErrorShowS #

showErrorString #

showList ∷ [Error] → ShowS #

Eq Error Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Methods

(==)ErrorErrorBool #

(/=)ErrorErrorBool #

data State Source #

State keeps track of registered protocol and software update proposals

data ApplicationVersion Source #

Instances

Instances details
FromCBOR ApplicationVersion Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

ToCBOR ApplicationVersion Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

DecCBOR ApplicationVersion Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

EncCBOR ApplicationVersion Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

NFData ApplicationVersion Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Methods

rnfApplicationVersion → () #

Generic ApplicationVersion Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Associated Types

type Rep ApplicationVersion 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

type Rep ApplicationVersion = D1 ('MetaData "ApplicationVersion" "Cardano.Chain.Update.Validation.Registration" "cardano-ledger-byron-1.3.0.0-inplace" '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))))
Show ApplicationVersion Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Eq 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-1.3.0.0-inplace" '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
FromCBOR ProtocolUpdateProposal Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

ToCBOR ProtocolUpdateProposal Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

DecCBOR ProtocolUpdateProposal Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

EncCBOR ProtocolUpdateProposal Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

NFData ProtocolUpdateProposal Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Methods

rnfProtocolUpdateProposal → () #

Generic ProtocolUpdateProposal Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Associated Types

type Rep ProtocolUpdateProposal 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

type Rep ProtocolUpdateProposal = D1 ('MetaData "ProtocolUpdateProposal" "Cardano.Chain.Update.Validation.Registration" "cardano-ledger-byron-1.3.0.0-inplace" 'False) (C1 ('MetaCons "ProtocolUpdateProposal" 'PrefixI 'True) (S1 ('MetaSel ('Just "pupProtocolVersion") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ProtocolVersion) :*: S1 ('MetaSel ('Just "pupProtocolParameters") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ProtocolParameters)))
Show ProtocolUpdateProposal Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Eq 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-1.3.0.0-inplace" '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
FromCBOR SoftwareUpdateProposal Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

ToCBOR SoftwareUpdateProposal Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

DecCBOR SoftwareUpdateProposal Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

EncCBOR SoftwareUpdateProposal Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

NFData SoftwareUpdateProposal Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Methods

rnfSoftwareUpdateProposal → () #

Generic SoftwareUpdateProposal Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Associated Types

type Rep SoftwareUpdateProposal 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

type Rep SoftwareUpdateProposal = D1 ('MetaData "SoftwareUpdateProposal" "Cardano.Chain.Update.Validation.Registration" "cardano-ledger-byron-1.3.0.0-inplace" 'False) (C1 ('MetaCons "SoftwareUpdateProposal" 'PrefixI 'True) (S1 ('MetaSel ('Just "supSoftwareVersion") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SoftwareVersion) :*: S1 ('MetaSel ('Just "supSoftwareMetadata") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Metadata)))
Show SoftwareUpdateProposal Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Eq 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-1.3.0.0-inplace" 'False) (C1 ('MetaCons "SoftwareUpdateProposal" 'PrefixI 'True) (S1 ('MetaSel ('Just "supSoftwareVersion") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SoftwareVersion) :*: S1 ('MetaSel ('Just "supSoftwareMetadata") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Metadata)))

registerProposalMonadError Error m ⇒ EnvironmentStateAProposal 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.

data TooLarge n Source #

Constructors

TooLarge 

Fields

Instances

Instances details
DecCBOR n ⇒ FromCBOR (TooLarge n) Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

(EncCBOR n, Typeable n) ⇒ ToCBOR (TooLarge n) Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Methods

toCBORTooLarge n → Encoding Source #

encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy (TooLarge n) → Size Source #

encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [TooLarge n] → Size Source #

DecCBOR n ⇒ DecCBOR (TooLarge n) Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

EncCBOR n ⇒ EncCBOR (TooLarge n) Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Methods

encCBORTooLarge n → Encoding Source #

Show n ⇒ Show (TooLarge n) Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Methods

showsPrecIntTooLarge n → ShowS #

showTooLarge n → String #

showList ∷ [TooLarge n] → ShowS #

Eq n ⇒ Eq (TooLarge n) Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Methods

(==)TooLarge n → TooLarge n → Bool #

(/=)TooLarge n → TooLarge n → Bool #