Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data HeaderInFutureCheck m blk arrival judgment = HeaderInFutureCheck {
- proxyArrival ∷ Proxy arrival
- recordHeaderArrival ∷ Header blk → m arrival
- judgeHeaderArrival ∷ LedgerConfig blk → LedgerState blk → arrival → Except PastHorizonException judgment
- handleHeaderArrival ∷ judgment → m (Except HeaderArrivalException RelativeTime)
- data SomeHeaderInFutureCheck m blk = ∀ arrival judgment. SomeHeaderInFutureCheck (HeaderInFutureCheck m blk arrival judgment)
- data HeaderArrivalException = ∀ blk.HasHeader blk ⇒ FarFutureHeaderException {}
- realHeaderInFutureCheck ∷ (HasHeader blk, HasHeader (Header blk), HasHardForkHistory blk, MonadDelay m) ⇒ ClockSkew → SystemTime m → SomeHeaderInFutureCheck m blk
Interface
data HeaderInFutureCheck m blk arrival judgment Source #
The interface a ChainSync client needs in order to check the arrival time of headers.
Instead of alphabetical, the fields are in the order in which the ChainSync client logic will invoke them for each header.
HeaderInFutureCheck | |
|
data SomeHeaderInFutureCheck m blk Source #
∀ arrival judgment. SomeHeaderInFutureCheck (HeaderInFutureCheck m blk arrival judgment) |
Real Implementation
data HeaderArrivalException Source #
∀ blk.HasHeader blk ⇒ FarFutureHeaderException | The header arrived so early that its issuer either minted it before their clock reached its slot onset or else the difference between their clock and ours is more severe than we're configured to tolerate. INVARIANT: |
realHeaderInFutureCheck ∷ (HasHeader blk, HasHeader (Header blk), HasHardForkHistory blk, MonadDelay m) ⇒ ClockSkew → SystemTime m → SomeHeaderInFutureCheck m blk Source #