Safe Haskell | None |
---|---|
Language | Haskell2010 |
Cardano.Node.Protocol.Shelley
Contents
Synopsis
- mkSomeConsensusProtocolShelley ∷ NodeShelleyProtocolConfiguration → Maybe ProtocolFilepaths → ExceptT ShelleyProtocolInstantiationError IO SomeConsensusProtocol
- data ShelleyProtocolInstantiationError
- data GenesisReadError
- newtype GenesisValidationError = GenesisValidationErrors [ValidationErr]
- data PraosLeaderCredentialsError
- readGenesis ∷ GenesisFile → Maybe GenesisHash → ExceptT GenesisReadError IO (ShelleyGenesis StandardShelley, GenesisHash)
- readGenesisAny ∷ FromJSON genesis ⇒ GenesisFile → Maybe GenesisHash → ExceptT GenesisReadError IO (genesis, GenesisHash)
- readLeaderCredentials ∷ Maybe ProtocolFilepaths → ExceptT PraosLeaderCredentialsError IO [TPraosLeaderCredentials StandardCrypto]
- genesisHashToPraosNonce ∷ GenesisHash → Nonce
- validateGenesis ∷ ShelleyGenesis StandardShelley → ExceptT GenesisValidationError IO ()
Documentation
mkSomeConsensusProtocolShelley ∷ NodeShelleyProtocolConfiguration → Maybe ProtocolFilepaths → ExceptT ShelleyProtocolInstantiationError IO SomeConsensusProtocol Source #
Make SomeConsensusProtocol
using the Shelley instance.
This lets us handle multiple protocols in a generic way.
This also serves a purpose as a sanity check that we have all the necessary type class instances available.
Errors
data ShelleyProtocolInstantiationError Source #
Constructors
GenesisReadError GenesisReadError | |
GenesisValidationError GenesisValidationError | |
PraosLeaderCredentialsError PraosLeaderCredentialsError |
Instances
data GenesisReadError Source #
Constructors
GenesisReadFileError !FilePath !IOException | |
GenesisHashMismatch !GenesisHash !GenesisHash | |
GenesisDecodeError !FilePath !String |
Instances
Show GenesisReadError Source # | |
Defined in Cardano.Node.Protocol.Shelley | |
Error GenesisReadError Source # | |
Defined in Cardano.Node.Protocol.Shelley Methods |
newtype GenesisValidationError Source #
Constructors
GenesisValidationErrors [ValidationErr] |
Instances
Show GenesisValidationError Source # | |
Defined in Cardano.Node.Protocol.Shelley | |
Error GenesisValidationError Source # | |
Defined in Cardano.Node.Protocol.Shelley Methods |
data PraosLeaderCredentialsError Source #
Constructors
Instances
Show PraosLeaderCredentialsError Source # | |
Defined in Cardano.Node.Protocol.Shelley | |
Error PraosLeaderCredentialsError Source # | |
Defined in Cardano.Node.Protocol.Shelley Methods displayError ∷ PraosLeaderCredentialsError → String Source # |
Reusable parts
readGenesis ∷ GenesisFile → Maybe GenesisHash → ExceptT GenesisReadError IO (ShelleyGenesis StandardShelley, GenesisHash) Source #
readGenesisAny ∷ FromJSON genesis ⇒ GenesisFile → Maybe GenesisHash → ExceptT GenesisReadError IO (genesis, GenesisHash) Source #
readLeaderCredentials ∷ Maybe ProtocolFilepaths → ExceptT PraosLeaderCredentialsError IO [TPraosLeaderCredentials StandardCrypto] Source #
genesisHashToPraosNonce ∷ GenesisHash → Nonce Source #
validateGenesis ∷ ShelleyGenesis StandardShelley → ExceptT GenesisValidationError IO () Source #