module Data.Blockchain.Types.Difficulty ( Difficulty(..) ) where import qualified Data.Aeson as Aeson import qualified Numeric.Natural as Natural import qualified Data.Blockchain.Types.Hex as Hex newtype Difficulty = Difficulty { unDifficulty :: Natural.Natural } deriving (Aeson.FromJSON, Aeson.ToJSON, Enum, Eq, Integral, Num, Real, Ord, Show) instance Bounded Difficulty where minBound = 0 maxBound = fromIntegral (maxBound :: Hex.Hex256)