Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- mkSomeConsensusProtocolByron ∷ NodeByronProtocolConfiguration → Maybe ProtocolFilepaths → ExceptT ByronProtocolInstantiationError IO SomeConsensusProtocol
- data ByronProtocolInstantiationError
- = CanonicalDecodeFailure !FilePath !Text
- | GenesisHashMismatch !GenesisHash !GenesisHash
- | DelegationCertificateFilepathNotSpecified
- | GenesisConfigurationError !FilePath !ConfigurationError
- | GenesisReadError !FilePath !GenesisDataError
- | CredentialsError !ByronLeaderCredentialsError
- | SigningKeyDeserialiseFailure !FilePath
- | SigningKeyFilepathNotSpecified
- readGenesis ∷ GenesisFile → Maybe GenesisHash → RequiresNetworkMagic → ExceptT ByronProtocolInstantiationError IO Config
- readLeaderCredentials ∷ Config → Maybe ProtocolFilepaths → ExceptT ByronProtocolInstantiationError IO (Maybe ByronLeaderCredentials)
Documentation
mkSomeConsensusProtocolByron ∷ NodeByronProtocolConfiguration → Maybe ProtocolFilepaths → ExceptT ByronProtocolInstantiationError IO SomeConsensusProtocol Source #
Make SomeConsensusProtocol
using the Byron 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 ByronProtocolInstantiationError Source #