ouroboros-consensus-cardano-0.20.0.0: The instantation of the Ouroboros consensus layer used by Cardano
Safe HaskellSafe-Inferred
LanguageHaskell2010

Test.ThreadNet.Infra.Shelley

Synopsis

Documentation

data CoreNode c Source #

Constructors

CoreNode 

Fields

newtype DecentralizationParam Source #

A suitable value for the d protocol parameter

In the range 0 to 1, inclusive. Beware the misnomer: 0 means fully decentralized, and 1 means fully centralized.

Instances

Instances details
Arbitrary DecentralizationParam Source #

A fraction with denominator 10 and numerator 0 to 10 inclusive

Instance details

Defined in Test.ThreadNet.Infra.Shelley

Generic DecentralizationParam Source # 
Instance details

Defined in Test.ThreadNet.Infra.Shelley

Associated Types

type Rep DecentralizationParamTypeType #

Show DecentralizationParam Source # 
Instance details

Defined in Test.ThreadNet.Infra.Shelley

Eq DecentralizationParam Source # 
Instance details

Defined in Test.ThreadNet.Infra.Shelley

Ord DecentralizationParam Source # 
Instance details

Defined in Test.ThreadNet.Infra.Shelley

type Rep DecentralizationParam Source # 
Instance details

Defined in Test.ThreadNet.Infra.Shelley

type Rep DecentralizationParam = D1 ('MetaData "DecentralizationParam" "Test.ThreadNet.Infra.Shelley" "ouroboros-consensus-cardano-0.20.0.0-inplace-unstable-shelley-testlib" 'True) (C1 ('MetaCons "DecentralizationParam" 'PrefixI 'True) (S1 ('MetaSel ('Just "decentralizationParamToRational") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rational)))

data KesConfig Source #

Currently maxEvolutions * slotsPerEvolution is the max number of slots the test can run without needing new ocerts.

TODO This limitation may be lifted by PR #2107, see https://github.com/IntersectMBO/ouroboros-network/issues/2107.

Constructors

KesConfig 

mkEpochSizeSecurityParamRationalEpochSize Source #

The epoch size, given k and f.

INVARIANT: 10 * k / f must be a whole number.

mkGenesisConfig Source #

Arguments

∷ ∀ c. PraosCrypto c 
ProtVer

Initial protocol version

SecurityParam 
Rational

Initial active slot coefficient

DecentralizationParam 
Word64

Max Lovelace supply, must be >= #coreNodes * initialLovelacePerCoreNode

SlotLength 
KesConfig 
→ [CoreNode c] 
ShelleyGenesis c 

Note: a KES algorithm supports a particular max number of KES evolutions, but we can configure a potentially lower maximum for the ledger, that's why we take it as an argument.

mkKesConfig ∷ ∀ proxy c. Crypto c ⇒ proxy c → NumSlotsKesConfig Source #

A KesConfig that will not require more evolutions than this test's crypto allows.

mkMASetDecentralizationParamTxs Source #

Arguments

∷ ∀ proto era. (ShelleyBasedEra era, AllegraEraTxBody era, ShelleyEraTxBody era, AtMostEra AlonzoEra era) 
⇒ [CoreNode (EraCrypto era)] 
ProtVer

The proposed protocol version

SlotNo

The TTL

DecentralizationParam

The new value

→ [GenTx (ShelleyBlock proto era)] 

TODO This is a copy-paste-edit of mkSetDecentralizationParamTxs

Our current plan is to replace all of this infrastructure with the ThreadNet rewrite; so we're minimizing the work and maintenance here for now.

mkSetDecentralizationParamTxs Source #

Arguments

∷ ∀ c. ShelleyBasedEra (ShelleyEra c) 
⇒ [CoreNode c] 
ProtVer

The proposed protocol version

SlotNo

The TTL

DecentralizationParam

The new value

→ [GenTx (ShelleyBlock (TPraos c) (ShelleyEra c))] 

mkVerKeyCrypto c ⇒ SignKeyDSIGN c → VKey r c Source #