ouroboros-consensus:cardano
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Consensus.Shelley.Node.TPraos

Synopsis

Documentation

newtype MaxMajorProtVer #

Constructors

MaxMajorProtVer 

Instances

Instances details
FromCBOR MaxMajorProtVer # 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos.Common

ToCBOR MaxMajorProtVer # 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos.Common

Eq MaxMajorProtVer # 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos.Common

Generic MaxMajorProtVer # 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos.Common

Associated Types

type Rep MaxMajorProtVer 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos.Common

type Rep MaxMajorProtVer = D1 ('MetaData "MaxMajorProtVer" "Ouroboros.Consensus.Protocol.Praos.Common" "ouroboros-consensus-4.0.0.0-inplace-protocol" 'True) (C1 ('MetaCons "MaxMajorProtVer" 'PrefixI 'True) (S1 ('MetaSel ('Just "getMaxMajorProtVer") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Version)))
Show MaxMajorProtVer # 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos.Common

NoThunks MaxMajorProtVer # 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos.Common

type Rep MaxMajorProtVer # 
Instance details

Defined in Ouroboros.Consensus.Protocol.Praos.Common

type Rep MaxMajorProtVer = D1 ('MetaData "MaxMajorProtVer" "Ouroboros.Consensus.Protocol.Praos.Common" "ouroboros-consensus-4.0.0.0-inplace-protocol" 'True) (C1 ('MetaCons "MaxMajorProtVer" 'PrefixI 'True) (S1 ('MetaSel ('Just "getMaxMajorProtVer") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Version)))

data ProtocolParamsShelleyBased c Source #

Parameters common to all Shelley-based ledgers.

When running a chain with multiple Shelley-based eras, in addition to the per-era protocol parameters, one value of ProtocolParamsShelleyBased will be needed, which is shared among all Shelley-based eras.

Constructors

ProtocolParamsShelleyBased 

Fields

data Nonce Source #

Evolving nonce type.

Constructors

Nonce !(Hash Blake2b_256 Nonce) 
NeutralNonce

Identity element

Instances

Instances details
FromJSON Nonce Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

ToJSON Nonce Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

FromCBOR Nonce Source # 
Instance details

Defined in Ouroboros.Consensus.Util.Orphans

ToCBOR Nonce Source # 
Instance details

Defined in Ouroboros.Consensus.Util.Orphans

Methods

toCBOR ∷ Nonce → Encoding Source #

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

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

DecCBOR Nonce Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

EncCBOR Nonce Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

encCBOR ∷ Nonce → Encoding Source #

ToPlutusData Nonce Source # 
Instance details

Defined in Cardano.Ledger.Plutus.ToPlutusData

NFData Nonce Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

rnf ∷ Nonce → () #

Eq Nonce Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

(==) ∷ Nonce → Nonce → Bool #

(/=) ∷ Nonce → Nonce → Bool #

Ord Nonce Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

compare ∷ Nonce → Nonce → Ordering #

(<) ∷ Nonce → Nonce → Bool #

(<=) ∷ Nonce → Nonce → Bool #

(>) ∷ Nonce → Nonce → Bool #

(>=) ∷ Nonce → Nonce → Bool #

max ∷ Nonce → Nonce → Nonce #

min ∷ Nonce → Nonce → Nonce #

Generic Nonce Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

Associated Types

type Rep Nonce 
Instance details

Defined in Cardano.Ledger.BaseTypes

type Rep Nonce = D1 ('MetaData "Nonce" "Cardano.Ledger.BaseTypes" "cardano-ledger-core-1.22.0.0-c45e86a9420b4cabd7b4441fe1f01a4a90cffb77a6fbfa80dfcb84c19226d668" 'False) (C1 ('MetaCons "Nonce" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Hash Blake2b_256 Nonce))) :+: C1 ('MetaCons "NeutralNonce" 'PrefixI 'False) (U1 ∷ Type → Type))

Methods

from ∷ Nonce → Rep Nonce x #

to ∷ Rep Nonce x → Nonce #

Show Nonce Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

showsPrec ∷ Int → Nonce → ShowS #

show ∷ Nonce → String #

showList ∷ [Nonce] → ShowS #

NoThunks Nonce Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

type Rep Nonce Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

type Rep Nonce = D1 ('MetaData "Nonce" "Cardano.Ledger.BaseTypes" "cardano-ledger-core-1.22.0.0-c45e86a9420b4cabd7b4441fe1f01a4a90cffb77a6fbfa80dfcb84c19226d668" 'False) (C1 ('MetaCons "Nonce" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Hash Blake2b_256 Nonce))) :+: C1 ('MetaCons "NeutralNonce" 'PrefixI 'False) (U1 ∷ Type → Type))

data ProtVer Source #

Constructors

ProtVer 

Fields

Instances

Instances details
FromJSON ProtVer Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

ToJSON ProtVer Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

FromCBOR ProtVer Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

ToCBOR ProtVer Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

toCBOR ∷ ProtVer → Encoding Source #

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

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

DecCBOR ProtVer Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

EncCBOR ProtVer Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

DecCBORGroup ProtVer Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

EncCBORGroup ProtVer Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

ToPlutusData ProtVer Source # 
Instance details

Defined in Cardano.Ledger.Plutus.ToPlutusData

NFData ProtVer Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

rnf ∷ ProtVer → () #

Eq ProtVer Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

(==) ∷ ProtVer → ProtVer → Bool #

(/=) ∷ ProtVer → ProtVer → Bool #

Ord ProtVer Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

compare ∷ ProtVer → ProtVer → Ordering #

(<) ∷ ProtVer → ProtVer → Bool #

(<=) ∷ ProtVer → ProtVer → Bool #

(>) ∷ ProtVer → ProtVer → Bool #

(>=) ∷ ProtVer → ProtVer → Bool #

max ∷ ProtVer → ProtVer → ProtVer #

min ∷ ProtVer → ProtVer → ProtVer #

Generic ProtVer Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

Associated Types

type Rep ProtVer 
Instance details

Defined in Cardano.Ledger.BaseTypes

type Rep ProtVer = D1 ('MetaData "ProtVer" "Cardano.Ledger.BaseTypes" "cardano-ledger-core-1.22.0.0-c45e86a9420b4cabd7b4441fe1f01a4a90cffb77a6fbfa80dfcb84c19226d668" 'False) (C1 ('MetaCons "ProtVer" 'PrefixI 'True) (S1 ('MetaSel ('Just "pvMajor") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Version) :*: S1 ('MetaSel ('Just "pvMinor") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word32)))

Methods

from ∷ ProtVer → Rep ProtVer x #

to ∷ Rep ProtVer x → ProtVer #

Show ProtVer Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

Methods

showsPrec ∷ Int → ProtVer → ShowS #

show ∷ ProtVer → String #

showList ∷ [ProtVer] → ShowS #

NoThunks ProtVer Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

type Rep ProtVer Source # 
Instance details

Defined in Cardano.Ledger.BaseTypes

type Rep ProtVer = D1 ('MetaData "ProtVer" "Cardano.Ledger.BaseTypes" "cardano-ledger-core-1.22.0.0-c45e86a9420b4cabd7b4441fe1f01a4a90cffb77a6fbfa80dfcb84c19226d668" 'False) (C1 ('MetaCons "ProtVer" 'PrefixI 'True) (S1 ('MetaSel ('Just "pvMajor") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Version) :*: S1 ('MetaSel ('Just "pvMinor") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word32)))

data ShelleyGenesis Source #

Shelley genesis information

Note that this is needed only for a pure Shelley network, hence it being defined here rather than in its own module. In mainnet, Shelley will transition naturally from Byron, and thus will never have its own genesis information.

Constructors

ShelleyGenesis 

Fields

Instances

Instances details
FromJSON ShelleyGenesis Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

ToJSON ShelleyGenesis Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

FromCBOR ShelleyGenesis Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

ToCBOR ShelleyGenesis Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

DecCBOR ShelleyGenesis Source #

Genesis are always encoded with the version of era they are defined in.

Instance details

Defined in Cardano.Ledger.Shelley.Genesis

EncCBOR ShelleyGenesis Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

ToKeyValuePairs ShelleyGenesis Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Methods

toKeyValuePairs ∷ KeyValue e kv ⇒ ShelleyGenesis → [kv] Source #

NFData ShelleyGenesis Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Methods

rnf ∷ ShelleyGenesis → () #

Eq ShelleyGenesis Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Generic ShelleyGenesis Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Associated Types

type Rep ShelleyGenesis 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

type Rep ShelleyGenesis = D1 ('MetaData "ShelleyGenesis" "Cardano.Ledger.Shelley.Genesis" "cardano-ledger-shelley-1.19.1.0-bfc01d5af38d8ef2858e1fed7ee4fa3df9836affc0ace699b6c17767b128f172" 'False) (C1 ('MetaCons "ShelleyGenesis" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "sgSystemStart") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 UTCTime) :*: S1 ('MetaSel ('Just "sgNetworkMagic") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word32)) :*: (S1 ('MetaSel ('Just "sgNetworkId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Network) :*: S1 ('MetaSel ('Just "sgActiveSlotsCoeff") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PositiveUnitInterval))) :*: ((S1 ('MetaSel ('Just "sgSecurityParam") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 (NonZero Word64)) :*: S1 ('MetaSel ('Just "sgEpochLength") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 EpochSize)) :*: (S1 ('MetaSel ('Just "sgSlotsPerKESPeriod") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word64) :*: S1 ('MetaSel ('Just "sgMaxKESEvolutions") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word64)))) :*: (((S1 ('MetaSel ('Just "sgSlotLength") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 NominalDiffTimeMicro) :*: S1 ('MetaSel ('Just "sgUpdateQuorum") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word64)) :*: (S1 ('MetaSel ('Just "sgMaxLovelaceSupply") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word64) :*: S1 ('MetaSel ('Just "sgProtocolParams") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (PParams ShelleyEra)))) :*: ((S1 ('MetaSel ('Just "sgGenDelegs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (KeyHash 'GenesisRole) GenDelegPair)) :*: S1 ('MetaSel ('Just "sgInitialFunds") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ListMap Addr Coin))) :*: (S1 ('MetaSel ('Just "sgStaking") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ShelleyGenesisStaking) :*: S1 ('MetaSel ('Just "sgExtraConfig") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StrictMaybe ShelleyExtraConfig)))))))
Show ShelleyGenesis Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

NoThunks ShelleyGenesis Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

type Rep ShelleyGenesis Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

type Rep ShelleyGenesis = D1 ('MetaData "ShelleyGenesis" "Cardano.Ledger.Shelley.Genesis" "cardano-ledger-shelley-1.19.1.0-bfc01d5af38d8ef2858e1fed7ee4fa3df9836affc0ace699b6c17767b128f172" 'False) (C1 ('MetaCons "ShelleyGenesis" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "sgSystemStart") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 UTCTime) :*: S1 ('MetaSel ('Just "sgNetworkMagic") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word32)) :*: (S1 ('MetaSel ('Just "sgNetworkId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Network) :*: S1 ('MetaSel ('Just "sgActiveSlotsCoeff") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PositiveUnitInterval))) :*: ((S1 ('MetaSel ('Just "sgSecurityParam") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 (NonZero Word64)) :*: S1 ('MetaSel ('Just "sgEpochLength") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 EpochSize)) :*: (S1 ('MetaSel ('Just "sgSlotsPerKESPeriod") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word64) :*: S1 ('MetaSel ('Just "sgMaxKESEvolutions") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word64)))) :*: (((S1 ('MetaSel ('Just "sgSlotLength") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 NominalDiffTimeMicro) :*: S1 ('MetaSel ('Just "sgUpdateQuorum") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word64)) :*: (S1 ('MetaSel ('Just "sgMaxLovelaceSupply") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Word64) :*: S1 ('MetaSel ('Just "sgProtocolParams") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (PParams ShelleyEra)))) :*: ((S1 ('MetaSel ('Just "sgGenDelegs") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map (KeyHash 'GenesisRole) GenDelegPair)) :*: S1 ('MetaSel ('Just "sgInitialFunds") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ListMap Addr Coin))) :*: (S1 ('MetaSel ('Just "sgStaking") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ShelleyGenesisStaking) :*: S1 ('MetaSel ('Just "sgExtraConfig") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (StrictMaybe ShelleyExtraConfig)))))))

data ShelleyGenesisStaking Source #

Genesis Shelley staking configuration.

This allows us to configure some initial stake pools and delegation to them, in order to test Praos in a static configuration, without requiring on-chain registration and delegation.

For simplicity, pools defined in the genesis staking do not pay deposits for their registration.

Constructors

ShelleyGenesisStaking 

Fields

  • sgsPools ∷ ListMap (KeyHash 'StakePool) StakePoolParams

    Pools to register

    The key in this map is the hash of the public key of the _pool_. This need not correspond to any payment or staking key, but must correspond to the cold key held by TPraosIsCoreNode.

  • sgsStake ∷ ListMap (KeyHash 'Staking) (KeyHash 'StakePool)

    Stake-holding key hash credentials and the pools to delegate that stake to. We require the raw staking key hash in order to:

    • Avoid pointer addresses, which would be tricky when there's no slot or transaction to point to.
    • Avoid script credentials.

Instances

Instances details
FromJSON ShelleyGenesisStaking Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

ToJSON ShelleyGenesisStaking Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

DecCBOR ShelleyGenesisStaking Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

EncCBOR ShelleyGenesisStaking Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

ToKeyValuePairs ShelleyGenesisStaking Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

NFData ShelleyGenesisStaking Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Methods

rnf ∷ ShelleyGenesisStaking → () #

Monoid ShelleyGenesisStaking Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Semigroup ShelleyGenesisStaking Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Eq ShelleyGenesisStaking Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Generic ShelleyGenesisStaking Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

Associated Types

type Rep ShelleyGenesisStaking 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

type Rep ShelleyGenesisStaking = D1 ('MetaData "ShelleyGenesisStaking" "Cardano.Ledger.Shelley.Genesis" "cardano-ledger-shelley-1.19.1.0-bfc01d5af38d8ef2858e1fed7ee4fa3df9836affc0ace699b6c17767b128f172" 'False) (C1 ('MetaCons "ShelleyGenesisStaking" 'PrefixI 'True) (S1 ('MetaSel ('Just "sgsPools") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ListMap (KeyHash 'StakePool) StakePoolParams)) :*: S1 ('MetaSel ('Just "sgsStake") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ListMap (KeyHash 'Staking) (KeyHash 'StakePool)))))
Show ShelleyGenesisStaking Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

NoThunks ShelleyGenesisStaking Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

type Rep ShelleyGenesisStaking Source # 
Instance details

Defined in Cardano.Ledger.Shelley.Genesis

type Rep ShelleyGenesisStaking = D1 ('MetaData "ShelleyGenesisStaking" "Cardano.Ledger.Shelley.Genesis" "cardano-ledger-shelley-1.19.1.0-bfc01d5af38d8ef2858e1fed7ee4fa3df9836affc0ace699b6c17767b128f172" 'False) (C1 ('MetaCons "ShelleyGenesisStaking" 'PrefixI 'True) (S1 ('MetaSel ('Just "sgsPools") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ListMap (KeyHash 'StakePool) StakePoolParams)) :*: S1 ('MetaSel ('Just "sgsStake") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (ListMap (KeyHash 'Staking) (KeyHash 'StakePool)))))

data ShelleyLeaderCredentials c Source #

Constructors

ShelleyLeaderCredentials 

Fields

protocolInfoShelley ∷ (IOLike m, AgentCrypto c, ShelleyCompatible (TPraos c) ShelleyEra, MonadKESAgent m) ⇒ SomeHasFS m → ShelleyGenesis → ProtocolParamsShelleyBased c → ProtVer → m (ProtocolInfo (ShelleyBlock (TPraos c) ShelleyEra), Tracer m KESAgentClientTrace → m [MkBlockForging m (ShelleyBlock (TPraos c) ShelleyEra)]) Source #

protocolInfoTPraosShelleyBased Source #

Arguments

∷ ∀ m era c. (ShelleyCompatible (TPraos c) era, KESAgentContext c m) 
⇒ SomeHasFS m 
→ ProtocolParamsShelleyBased c 
→ TransitionConfig era 
→ ProtVer

see shelleyProtVer, mutatis mutandi

→ m (ProtocolInfo (ShelleyBlock (TPraos c) era), Tracer m KESAgentClientTrace → m [MkBlockForging m (ShelleyBlock (TPraos c) era)]) 

shelleyBlockForging ∷ ∀ (m ∷ Type → Type) era c. (ShelleyCompatible (TPraos c) era, IOLike m) ⇒ TPraosParams → HotKey c m → ShelleyLeaderCredentials c → BlockForging m (ShelleyBlock (TPraos c) era) Source #

Create a BlockForging record for a single era.

In case the same credentials should be shared across multiple Shelley-based eras, use shelleySharedBlockForging.

shelleySharedBlockForging ∷ ∀ (m ∷ Type → Type) c era. (ShelleyCompatible (TPraos c) era, IOLike m) ⇒ HotKey c m → (SlotNo → KESPeriod) → ShelleyLeaderCredentials c → BlockForging m (ShelleyBlock (TPraos c) era) Source #

Create a BlockForging record safely using a given Hotkey.

The name of the era (separated by a _) will be appended to each forgeLabel.

validateGenesis ∷ ShelleyGenesis → Either String () Source #

Check the validity of the genesis config. To be used in conjunction with assertWithMsg.