{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DerivingVia #-}
{-# LANGUAGE TemplateHaskell #-}
{-# OPTIONS_GHC -fno-omit-interface-pragmas #-}
module PlutusLedgerApi.V1.Crypto
( PubKeyHash(..)
) where
import Control.DeepSeq (NFData)
import Data.String
import GHC.Generics (Generic)
import PlutusLedgerApi.V1.Bytes (LedgerBytes (..))
import PlutusTx qualified
import PlutusTx.Lift (makeLift)
import PlutusTx.Prelude qualified as PlutusTx
import PlutusTx.Show qualified as PlutusTx
import Prettyprinter
newtype PubKeyHash = PubKeyHash { PubKeyHash -> BuiltinByteString
getPubKeyHash :: PlutusTx.BuiltinByteString }
deriving stock (PubKeyHash -> PubKeyHash -> Bool
(PubKeyHash -> PubKeyHash -> Bool)
-> (PubKeyHash -> PubKeyHash -> Bool) -> Eq PubKeyHash
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PubKeyHash -> PubKeyHash -> Bool
== :: PubKeyHash -> PubKeyHash -> Bool
$c/= :: PubKeyHash -> PubKeyHash -> Bool
/= :: PubKeyHash -> PubKeyHash -> Bool
Eq, Eq PubKeyHash
Eq PubKeyHash =>
(PubKeyHash -> PubKeyHash -> Ordering)
-> (PubKeyHash -> PubKeyHash -> Bool)
-> (PubKeyHash -> PubKeyHash -> Bool)
-> (PubKeyHash -> PubKeyHash -> Bool)
-> (PubKeyHash -> PubKeyHash -> Bool)
-> (PubKeyHash -> PubKeyHash -> PubKeyHash)
-> (PubKeyHash -> PubKeyHash -> PubKeyHash)
-> Ord PubKeyHash
PubKeyHash -> PubKeyHash -> Bool
PubKeyHash -> PubKeyHash -> Ordering
PubKeyHash -> PubKeyHash -> PubKeyHash
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: PubKeyHash -> PubKeyHash -> Ordering
compare :: PubKeyHash -> PubKeyHash -> Ordering
$c< :: PubKeyHash -> PubKeyHash -> Bool
< :: PubKeyHash -> PubKeyHash -> Bool
$c<= :: PubKeyHash -> PubKeyHash -> Bool
<= :: PubKeyHash -> PubKeyHash -> Bool
$c> :: PubKeyHash -> PubKeyHash -> Bool
> :: PubKeyHash -> PubKeyHash -> Bool
$c>= :: PubKeyHash -> PubKeyHash -> Bool
>= :: PubKeyHash -> PubKeyHash -> Bool
$cmax :: PubKeyHash -> PubKeyHash -> PubKeyHash
max :: PubKeyHash -> PubKeyHash -> PubKeyHash
$cmin :: PubKeyHash -> PubKeyHash -> PubKeyHash
min :: PubKeyHash -> PubKeyHash -> PubKeyHash
Ord, (forall x. PubKeyHash -> Rep PubKeyHash x)
-> (forall x. Rep PubKeyHash x -> PubKeyHash) -> Generic PubKeyHash
forall x. Rep PubKeyHash x -> PubKeyHash
forall x. PubKeyHash -> Rep PubKeyHash x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. PubKeyHash -> Rep PubKeyHash x
from :: forall x. PubKeyHash -> Rep PubKeyHash x
$cto :: forall x. Rep PubKeyHash x -> PubKeyHash
to :: forall x. Rep PubKeyHash x -> PubKeyHash
Generic)
deriving anyclass (PubKeyHash -> ()
(PubKeyHash -> ()) -> NFData PubKeyHash
forall a. (a -> ()) -> NFData a
$crnf :: PubKeyHash -> ()
rnf :: PubKeyHash -> ()
NFData)
deriving newtype
( PubKeyHash -> PubKeyHash -> Bool
(PubKeyHash -> PubKeyHash -> Bool) -> Eq PubKeyHash
forall a. (a -> a -> Bool) -> Eq a
$c== :: PubKeyHash -> PubKeyHash -> Bool
== :: PubKeyHash -> PubKeyHash -> Bool
PlutusTx.Eq,
Eq PubKeyHash
Eq PubKeyHash =>
(PubKeyHash -> PubKeyHash -> Ordering)
-> (PubKeyHash -> PubKeyHash -> Bool)
-> (PubKeyHash -> PubKeyHash -> Bool)
-> (PubKeyHash -> PubKeyHash -> Bool)
-> (PubKeyHash -> PubKeyHash -> Bool)
-> (PubKeyHash -> PubKeyHash -> PubKeyHash)
-> (PubKeyHash -> PubKeyHash -> PubKeyHash)
-> Ord PubKeyHash
PubKeyHash -> PubKeyHash -> Bool
PubKeyHash -> PubKeyHash -> Ordering
PubKeyHash -> PubKeyHash -> PubKeyHash
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: PubKeyHash -> PubKeyHash -> Ordering
compare :: PubKeyHash -> PubKeyHash -> Ordering
$c< :: PubKeyHash -> PubKeyHash -> Bool
< :: PubKeyHash -> PubKeyHash -> Bool
$c<= :: PubKeyHash -> PubKeyHash -> Bool
<= :: PubKeyHash -> PubKeyHash -> Bool
$c> :: PubKeyHash -> PubKeyHash -> Bool
> :: PubKeyHash -> PubKeyHash -> Bool
$c>= :: PubKeyHash -> PubKeyHash -> Bool
>= :: PubKeyHash -> PubKeyHash -> Bool
$cmax :: PubKeyHash -> PubKeyHash -> PubKeyHash
max :: PubKeyHash -> PubKeyHash -> PubKeyHash
$cmin :: PubKeyHash -> PubKeyHash -> PubKeyHash
min :: PubKeyHash -> PubKeyHash -> PubKeyHash
PlutusTx.Ord,
Integer -> PubKeyHash -> ShowS
PubKeyHash -> BuiltinString
(Integer -> PubKeyHash -> ShowS)
-> (PubKeyHash -> BuiltinString) -> Show PubKeyHash
forall a. (Integer -> a -> ShowS) -> (a -> BuiltinString) -> Show a
$cshowsPrec :: Integer -> PubKeyHash -> ShowS
showsPrec :: Integer -> PubKeyHash -> ShowS
$cshow :: PubKeyHash -> BuiltinString
show :: PubKeyHash -> BuiltinString
PlutusTx.Show,
PubKeyHash -> BuiltinData
(PubKeyHash -> BuiltinData) -> ToData PubKeyHash
forall a. (a -> BuiltinData) -> ToData a
$ctoBuiltinData :: PubKeyHash -> BuiltinData
toBuiltinData :: PubKeyHash -> BuiltinData
PlutusTx.ToData,
BuiltinData -> Maybe PubKeyHash
(BuiltinData -> Maybe PubKeyHash) -> FromData PubKeyHash
forall a. (BuiltinData -> Maybe a) -> FromData a
$cfromBuiltinData :: BuiltinData -> Maybe PubKeyHash
fromBuiltinData :: BuiltinData -> Maybe PubKeyHash
PlutusTx.FromData,
BuiltinData -> PubKeyHash
(BuiltinData -> PubKeyHash) -> UnsafeFromData PubKeyHash
forall a. (BuiltinData -> a) -> UnsafeFromData a
$cunsafeFromBuiltinData :: BuiltinData -> PubKeyHash
unsafeFromBuiltinData :: BuiltinData -> PubKeyHash
PlutusTx.UnsafeFromData
)
deriving
(String -> PubKeyHash
(String -> PubKeyHash) -> IsString PubKeyHash
forall a. (String -> a) -> IsString a
$cfromString :: String -> PubKeyHash
fromString :: String -> PubKeyHash
IsString
, Int -> PubKeyHash -> ShowS
[PubKeyHash] -> ShowS
PubKeyHash -> String
(Int -> PubKeyHash -> ShowS)
-> (PubKeyHash -> String)
-> ([PubKeyHash] -> ShowS)
-> Show PubKeyHash
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PubKeyHash -> ShowS
showsPrec :: Int -> PubKeyHash -> ShowS
$cshow :: PubKeyHash -> String
show :: PubKeyHash -> String
$cshowList :: [PubKeyHash] -> ShowS
showList :: [PubKeyHash] -> ShowS
Show
, (forall ann. PubKeyHash -> Doc ann)
-> (forall ann. [PubKeyHash] -> Doc ann) -> Pretty PubKeyHash
forall ann. [PubKeyHash] -> Doc ann
forall ann. PubKeyHash -> Doc ann
forall a.
(forall ann. a -> Doc ann)
-> (forall ann. [a] -> Doc ann) -> Pretty a
$cpretty :: forall ann. PubKeyHash -> Doc ann
pretty :: forall ann. PubKeyHash -> Doc ann
$cprettyList :: forall ann. [PubKeyHash] -> Doc ann
prettyList :: forall ann. [PubKeyHash] -> Doc ann
Pretty
) via LedgerBytes
makeLift ''PubKeyHash