Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Cardano.Node.Protocol.Byron
Contents
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 #
Constructors
CanonicalDecodeFailure !FilePath !Text | |
GenesisHashMismatch !GenesisHash !GenesisHash | |
DelegationCertificateFilepathNotSpecified | |
GenesisConfigurationError !FilePath !ConfigurationError | |
GenesisReadError !FilePath !GenesisDataError | |
CredentialsError !ByronLeaderCredentialsError | |
SigningKeyDeserialiseFailure !FilePath | |
SigningKeyFilepathNotSpecified |
Instances
Show ByronProtocolInstantiationError Source # | |
Defined in Cardano.Node.Protocol.Byron | |
Error ByronProtocolInstantiationError Source # | |
Defined in Cardano.Node.Protocol.Byron Methods prettyError :: ByronProtocolInstantiationError -> Doc ann |
Reusable parts
readGenesis :: GenesisFile -> Maybe GenesisHash -> RequiresNetworkMagic -> ExceptT ByronProtocolInstantiationError IO Config Source #
readLeaderCredentials :: Config -> Maybe ProtocolFilepaths -> ExceptT ByronProtocolInstantiationError IO (Maybe ByronLeaderCredentials) Source #