ouroboros-consensus-0.1.0.1: Consensus layer for the Ouroboros blockchain protocol
Safe Haskell None
Language Haskell2010

Ouroboros.Consensus.BlockchainTime.API

Synopsis

Documentation

data BlockchainTime m Source #

Blockchain time

When we run the blockchain, there is a single, global time. We abstract over this here to allow to query this time (in terms of the current slot), and execute an action each time we advance a slot.

Constructors

BlockchainTime

Fields

data CurrentSlot Source #

Constructors

CurrentSlot ! SlotNo

The current slot is known

CurrentSlotUnknown

The current slot is not yet known

This only happens when the tip of the ledger is so far behind that we lack the information necessary to translate the current UTCTime into a SlotNo . This should only be the case during syncing.

knownSlotWatcher Source #

Arguments

:: forall m. IOLike m
=> BlockchainTime m
-> ( SlotNo -> m ())

Action to execute

-> Watcher m SlotNo SlotNo

Watches for changes in the current slot

The action will not be called until the current slot becomes known (if the tip of our ledger is too far away from the current wallclock time, we may not know what the current SlotNo is).