Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
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 StandardCrypto, GenesisHash)
- readGenesisAny :: FromJSON genesis => GenesisFile -> Maybe GenesisHash -> ExceptT GenesisReadError IO (genesis, GenesisHash)
- readLeaderCredentials :: Maybe ProtocolFilepaths -> ExceptT PraosLeaderCredentialsError IO [ShelleyLeaderCredentials StandardCrypto]
- genesisHashToPraosNonce :: GenesisHash -> Nonce
- validateGenesis :: ShelleyGenesis StandardCrypto -> 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 #
GenesisReadError GenesisReadError | |
GenesisValidationError GenesisValidationError | |
PraosLeaderCredentialsError PraosLeaderCredentialsError |
Instances
data GenesisReadError Source #
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 prettyError :: GenesisReadError -> Doc ann # |
newtype GenesisValidationError Source #
GenesisValidationErrors [ValidationErr] |
Instances
Show GenesisValidationError Source # | |
Defined in Cardano.Node.Protocol.Shelley | |
Error GenesisValidationError Source # | |
Defined in Cardano.Node.Protocol.Shelley prettyError :: GenesisValidationError -> Doc ann # |
data PraosLeaderCredentialsError Source #
Instances
Show PraosLeaderCredentialsError Source # | |
Defined in Cardano.Node.Protocol.Shelley | |
Error PraosLeaderCredentialsError Source # | |
Defined in Cardano.Node.Protocol.Shelley prettyError :: PraosLeaderCredentialsError -> Doc ann # |
Reusable parts
readGenesis :: GenesisFile -> Maybe GenesisHash -> ExceptT GenesisReadError IO (ShelleyGenesis StandardCrypto, GenesisHash) Source #
readGenesisAny :: FromJSON genesis => GenesisFile -> Maybe GenesisHash -> ExceptT GenesisReadError IO (genesis, GenesisHash) Source #