Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- mkSomeConsensusProtocolBcc ∷ NodeColeProtocolConfiguration → NodeSophieProtocolConfiguration → NodeAurumProtocolConfiguration → NodeHardForkProtocolConfiguration → Maybe ProtocolFilepaths → ExceptT BccProtocolInstantiationError IO SomeConsensusProtocol
- data BccProtocolInstantiationError
- = BccProtocolInstantiationErrorCole ColeProtocolInstantiationError
- | BccProtocolInstantiationSophieGenesisReadError GenesisReadError
- | BccProtocolInstantiationAurumGenesisReadError GenesisReadError
- | BccProtocolInstantiationOptimumLeaderCredentialsError OptimumLeaderCredentialsError
- | BccProtocolInstantiationErrorAurum AurumProtocolInstantiationError
Documentation
mkSomeConsensusProtocolBcc ∷ NodeColeProtocolConfiguration → NodeSophieProtocolConfiguration → NodeAurumProtocolConfiguration → NodeHardForkProtocolConfiguration → Maybe ProtocolFilepaths → ExceptT BccProtocolInstantiationError IO SomeConsensusProtocol Source #
Make SomeConsensusProtocol
using the Bcc instance.
The Bcc protocol instance is currently the sequential composition of the Cole and Sophie protocols, and will likely be extended in future with further sequentially composed protocol revisions.
The use of SomeConsensusProtocol
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 BccProtocolInstantiationError Source #