cardano-ledger-byron-1.0.2.0: The blockchain layer of Cardano during the Byron era
Safe HaskellSafe-Inferred
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
Show Error Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

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 #

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

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

Eq Error Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Methods

(==)ErrorErrorBool Source #

(/=)ErrorErrorBool Source #

data State Source #

State keeps track of registered protocol and software update proposals

data ApplicationVersion Source #

Instances

Instances details
Generic ApplicationVersion Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Associated Types

type Rep ApplicationVersionTypeType Source #

Show ApplicationVersion Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

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 → () Source #

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.0.2.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
Generic ProtocolUpdateProposal Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Associated Types

type Rep ProtocolUpdateProposalTypeType Source #

Show ProtocolUpdateProposal Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

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

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.0.2.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
Generic SoftwareUpdateProposal Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Associated Types

type Rep SoftwareUpdateProposalTypeType Source #

Show SoftwareUpdateProposal Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

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

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.0.2.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
Show n ⇒ Show (TooLarge n) Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

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

Defined in Cardano.Chain.Update.Validation.Registration

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

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

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

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

Defined in Cardano.Chain.Update.Validation.Registration

Methods

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

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

newtype Adopted Source #

Constructors

Adopted ProtocolVersion 

Instances

Instances details
Show Adopted Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

FromCBOR Adopted Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

ToCBOR Adopted Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Methods

toCBORAdoptedEncoding Source #

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

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

DecCBOR Adopted Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

EncCBOR Adopted Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Methods

encCBORAdoptedEncoding Source #

encodedSizeExpr ∷ (∀ t. EncCBOR t ⇒ Proxy t → Size) → Proxy AdoptedSize Source #

encodedListSizeExpr ∷ (∀ t. EncCBOR t ⇒ Proxy t → Size) → Proxy [Adopted] → Size Source #

Eq Adopted Source # 
Instance details

Defined in Cardano.Chain.Update.Validation.Registration

Methods

(==)AdoptedAdoptedBool Source #

(/=)AdoptedAdoptedBool Source #