Safe Haskell | None |
---|---|
Language | Haskell2010 |
Ouroboros.Consensus.Protocol.Ledger.HotKey
Contents
Description
Hot key
Intended for qualified import
Synopsis
- type KESEvolution = Period
- data KESInfo = KESInfo {}
- kesAbsolutePeriod ∷ KESInfo → KESPeriod
- data KESStatus
- kesStatus ∷ KESInfo → KESPeriod → KESStatus
- data HotKey c (m ∷ Type → Type) = HotKey {
- evolve ∷ KESPeriod → m KESEvolutionInfo
- getInfo ∷ m KESInfo
- isPoisoned ∷ m Bool
- sign_ ∷ ∀ toSign. (Signable (KES c) toSign, HasCallStack) ⇒ toSign → m (SignedKES (KES c) toSign)
- data KESEvolutionError
- type KESEvolutionInfo = UpdateInfo KESInfo KESEvolutionError
- mkHotKey ∷ ∀ m c. (Crypto c, IOLike m) ⇒ UnsoundPureSignKeyKES (KES c) → KESPeriod → Word64 → m (HotKey c m)
- sign ∷ (Signable (KES c) toSign, HasCallStack) ⇒ HotKey c m → toSign → m (SignedKES (KES c) toSign)
KES Info
type KESEvolution = Period Source #
We call the relative periods that a KES key is valid its evolution, to avoid confusion with absolute periods.
Constructors
KESInfo | |
Fields
|
Instances
kesAbsolutePeriod ∷ KESInfo → KESPeriod Source #
Return the absolute KES period
KES Status
Constructors
BeforeKESStart | The given period is before the start period of the KES key. |
InKESRange | The given period is in the range of the KES key. |
Fields
| |
AfterKESEnd | The given period is after the end period of the KES key. |
kesStatus ∷ KESInfo → KESPeriod → KESStatus Source #
Return the evolution of the given KES period, when it falls within the
range of the HotKey
([hkStart, hkEnd)
).
Note that the upper bound is exclusive, the spec says: > c0 <= kesPeriod s < c0 + MaxKESEvo
Hot Key
data HotKey c (m ∷ Type → Type) Source #
API to interact with the key.
Constructors
HotKey | |
Fields
|
data KESEvolutionError Source #
Failed to evolve the KES key.
Constructors
KESCouldNotEvolve | The KES key could not be evolved to the target period. |
KESKeyAlreadyPoisoned | The KES key was already poisoned. |
Instances
Show KESEvolutionError Source # | |
Defined in Ouroboros.Consensus.Protocol.Ledger.HotKey Methods showsPrec ∷ Int → KESEvolutionError → ShowS # show ∷ KESEvolutionError → String # showList ∷ [KESEvolutionError] → ShowS # |
type KESEvolutionInfo = UpdateInfo KESInfo KESEvolutionError Source #
Result of evolving the KES key.