{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingVia #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -Wno-orphans #-}
module Cardano.Ledger.Dijkstra.Genesis (
DijkstraGenesis (..),
) where
import Cardano.Ledger.BaseTypes (KeyValuePairs (..), ToKeyValuePairs (..))
import Cardano.Ledger.Binary (
DecCBOR (..),
EncCBOR (..),
FromCBOR (..),
ToCBOR (..),
)
import Cardano.Ledger.Binary.Coders
import Cardano.Ledger.Core
import Cardano.Ledger.Dijkstra.Era (DijkstraEra)
import Cardano.Ledger.Genesis (EraGenesis (..))
import Data.Aeson (FromJSON (..), ToJSON, withObject)
import GHC.Generics
import NoThunks.Class (NoThunks)
data DijkstraGenesis = DijkstraGenesis
deriving (DijkstraGenesis -> DijkstraGenesis -> Bool
(DijkstraGenesis -> DijkstraGenesis -> Bool)
-> (DijkstraGenesis -> DijkstraGenesis -> Bool)
-> Eq DijkstraGenesis
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DijkstraGenesis -> DijkstraGenesis -> Bool
== :: DijkstraGenesis -> DijkstraGenesis -> Bool
$c/= :: DijkstraGenesis -> DijkstraGenesis -> Bool
/= :: DijkstraGenesis -> DijkstraGenesis -> Bool
Eq, Int -> DijkstraGenesis -> ShowS
[DijkstraGenesis] -> ShowS
DijkstraGenesis -> String
(Int -> DijkstraGenesis -> ShowS)
-> (DijkstraGenesis -> String)
-> ([DijkstraGenesis] -> ShowS)
-> Show DijkstraGenesis
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DijkstraGenesis -> ShowS
showsPrec :: Int -> DijkstraGenesis -> ShowS
$cshow :: DijkstraGenesis -> String
show :: DijkstraGenesis -> String
$cshowList :: [DijkstraGenesis] -> ShowS
showList :: [DijkstraGenesis] -> ShowS
Show, (forall x. DijkstraGenesis -> Rep DijkstraGenesis x)
-> (forall x. Rep DijkstraGenesis x -> DijkstraGenesis)
-> Generic DijkstraGenesis
forall x. Rep DijkstraGenesis x -> DijkstraGenesis
forall x. DijkstraGenesis -> Rep DijkstraGenesis x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. DijkstraGenesis -> Rep DijkstraGenesis x
from :: forall x. DijkstraGenesis -> Rep DijkstraGenesis x
$cto :: forall x. Rep DijkstraGenesis x -> DijkstraGenesis
to :: forall x. Rep DijkstraGenesis x -> DijkstraGenesis
Generic)
deriving ([DijkstraGenesis] -> Value
[DijkstraGenesis] -> Encoding
DijkstraGenesis -> Bool
DijkstraGenesis -> Value
DijkstraGenesis -> Encoding
(DijkstraGenesis -> Value)
-> (DijkstraGenesis -> Encoding)
-> ([DijkstraGenesis] -> Value)
-> ([DijkstraGenesis] -> Encoding)
-> (DijkstraGenesis -> Bool)
-> ToJSON DijkstraGenesis
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> (a -> Bool)
-> ToJSON a
$ctoJSON :: DijkstraGenesis -> Value
toJSON :: DijkstraGenesis -> Value
$ctoEncoding :: DijkstraGenesis -> Encoding
toEncoding :: DijkstraGenesis -> Encoding
$ctoJSONList :: [DijkstraGenesis] -> Value
toJSONList :: [DijkstraGenesis] -> Value
$ctoEncodingList :: [DijkstraGenesis] -> Encoding
toEncodingList :: [DijkstraGenesis] -> Encoding
$comitField :: DijkstraGenesis -> Bool
omitField :: DijkstraGenesis -> Bool
ToJSON) via KeyValuePairs DijkstraGenesis
instance FromJSON DijkstraGenesis where
parseJSON :: Value -> Parser DijkstraGenesis
parseJSON = String
-> (Object -> Parser DijkstraGenesis)
-> Value
-> Parser DijkstraGenesis
forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject String
"DijkstraGenesis" ((Object -> Parser DijkstraGenesis)
-> Value -> Parser DijkstraGenesis)
-> (Object -> Parser DijkstraGenesis)
-> Value
-> Parser DijkstraGenesis
forall a b. (a -> b) -> a -> b
$ \Object
_ -> DijkstraGenesis -> Parser DijkstraGenesis
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
pure DijkstraGenesis
DijkstraGenesis
instance NoThunks DijkstraGenesis
instance EraGenesis DijkstraEra where
type Genesis DijkstraEra = DijkstraGenesis
instance ToKeyValuePairs DijkstraGenesis where
toKeyValuePairs :: forall e kv. KeyValue e kv => DijkstraGenesis -> [kv]
toKeyValuePairs DijkstraGenesis
DijkstraGenesis = []
instance FromCBOR DijkstraGenesis where
fromCBOR :: forall s. Decoder s DijkstraGenesis
fromCBOR =
forall era t s. Era era => Decoder s t -> Decoder s t
eraDecoder @DijkstraEra (Decoder s DijkstraGenesis -> Decoder s DijkstraGenesis)
-> Decoder s DijkstraGenesis -> Decoder s DijkstraGenesis
forall a b. (a -> b) -> a -> b
$
Decode ('Closed 'Dense) DijkstraGenesis
-> Decoder s DijkstraGenesis
forall t (w :: Wrapped) s. Typeable t => Decode w t -> Decoder s t
decode (Decode ('Closed 'Dense) DijkstraGenesis
-> Decoder s DijkstraGenesis)
-> Decode ('Closed 'Dense) DijkstraGenesis
-> Decoder s DijkstraGenesis
forall a b. (a -> b) -> a -> b
$
DijkstraGenesis -> Decode ('Closed 'Dense) DijkstraGenesis
forall t. t -> Decode ('Closed 'Dense) t
RecD DijkstraGenesis
DijkstraGenesis
instance ToCBOR DijkstraGenesis where
toCBOR :: DijkstraGenesis -> Encoding
toCBOR DijkstraGenesis
DijkstraGenesis =
forall era t. (Era era, EncCBOR t) => t -> Encoding
toEraCBOR @DijkstraEra (Encoding -> Encoding)
-> (Encode ('Closed 'Dense) DijkstraGenesis -> Encoding)
-> Encode ('Closed 'Dense) DijkstraGenesis
-> Encoding
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Encode ('Closed 'Dense) DijkstraGenesis -> Encoding
forall (w :: Wrapped) t. Encode w t -> Encoding
encode (Encode ('Closed 'Dense) DijkstraGenesis -> Encoding)
-> Encode ('Closed 'Dense) DijkstraGenesis -> Encoding
forall a b. (a -> b) -> a -> b
$
DijkstraGenesis -> Encode ('Closed 'Dense) DijkstraGenesis
forall t. t -> Encode ('Closed 'Dense) t
Rec DijkstraGenesis
DijkstraGenesis
instance DecCBOR DijkstraGenesis
instance EncCBOR DijkstraGenesis