Skip to content

Commit

Permalink
Merge pull request #1377 from input-output-hk/mrBliss/nounexpectedthu…
Browse files Browse the repository at this point in the history
…nks-chain

Add NoUnexpectedThunks for PredicateFailure CHAIN
  • Loading branch information
mrBliss committed Apr 17, 2020
2 parents b0f4b02 + 928bd9e commit a53da7d
Showing 1 changed file with 10 additions and 5 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE EmptyDataDecls #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeApplications #-}
Expand All @@ -18,9 +20,10 @@ where

import Data.Map.Strict (Map)
import qualified Data.Map.Strict as Map
import GHC.Generics (Generic)
import Numeric.Natural (Natural)

import Cardano.Prelude (MonadError (..), asks, unless)
import Cardano.Prelude (MonadError (..), NoUnexpectedThunks, asks, unless)
import Cardano.Slotting.Slot (WithOrigin (..))
import Shelley.Spec.Ledger.BaseTypes (Globals (..), Nonce (..), Seed (..), ShelleyBase,
StrictMaybe (..))
Expand Down Expand Up @@ -131,15 +134,17 @@ instance
data PredicateFailure (CHAIN crypto)
= HeaderSizeTooLargeCHAIN
| BlockSizeTooLargeCHAIN
| ObsoleteNodeCHAIN Natural Natural
| BbodyFailure (PredicateFailure (BBODY crypto))
| ObsoleteNodeCHAIN !Natural !Natural
| BbodyFailure !(PredicateFailure (BBODY crypto))
| TickFailure (PredicateFailure (TICK crypto))
| PrtclFailure (PredicateFailure (PRTCL crypto))
deriving (Show, Eq)
| PrtclFailure !(PredicateFailure (PRTCL crypto))
deriving (Show, Eq, Generic)

initialRules = []
transitionRules = [chainTransition]

instance Crypto crypto => NoUnexpectedThunks (PredicateFailure (CHAIN crypto))

chainChecks
:: (Crypto crypto, MonadError (PredicateFailure (CHAIN crypto)) m)
=> Natural
Expand Down

0 comments on commit a53da7d

Please sign in to comment.