atlas-cardano
Copyright(c) 2024 GYELD GMBH
LicenseApache 2.0
Maintainer[email protected]
Stabilitydevelop
Safe HaskellNone
LanguageGHC2021

GeniusYield.Types.KeyHash

Description

 
Synopsis

Documentation

data GYKeyHash (kr :: GYKeyRole) #

Hash of a public key corresponding to a given GYKeyRole.

Instances

Instances details
SingGYKeyRoleI kr => FromJSON (GYKeyHash kr) #
>>> Aeson.eitherDecode @(GYKeyHash 'GYKeyRolePayment) "\"e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d\""
Right (GYKeyHash (GYKeyRolePayment) "e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d")

Invalid characters:

>>> Aeson.eitherDecode @(GYKeyHash 'GYKeyRolePayment) "\"e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6azzz\""
Left "Error in $: \"GeniusYield.Types.KeyHash.keyHashFromRawBytesHex: unable to decode hash from hex string: e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6azzz, error: invalid character at offset: 53\""
Instance details

Defined in GeniusYield.Types.KeyHash

ToJSON (GYKeyHash kr) #
>>> LBS8.putStrLn $ Aeson.encode pkh
"ec91ac77b581ba928db86cd91d11e64032450677c6b80748ce0b9a81"
Instance details

Defined in GeniusYield.Types.KeyHash

AsPubKeyHash (GYKeyHash kr) # 
Instance details

Defined in GeniusYield.Types.KeyHash

CanSignTx (GYKeyHash kr) # 
Instance details

Defined in GeniusYield.Types.KeyHash

PrintfArg (GYKeyHash kr) #
>>> Printf.printf "%s\n" $ pkh
ec91ac77b581ba928db86cd91d11e64032450677c6b80748ce0b9a81
Instance details

Defined in GeniusYield.Types.KeyHash

FromField (GYKeyHash kr) #
>>> Csv.runParser $ Csv.parseField @(GYKeyHash 'GYKeyRolePayment) "e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d"
Right (GYKeyHash (GYKeyRolePayment) "e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d")
>>> Csv.runParser $ Csv.parseField @(GYKeyHash 'GYKeyRolePayment) "not a payment key hash"
Left "\"GeniusYield.Types.KeyHash.keyHashFromRawBytesHex: unable to decode hash from hex string: not a payment key hash, error: invalid character at offset: 0\""
Instance details

Defined in GeniusYield.Types.KeyHash

Methods

parseField :: Field -> Parser (GYKeyHash kr) #

ToField (GYKeyHash kr) #
>>> Csv.toField pkh
"ec91ac77b581ba928db86cd91d11e64032450677c6b80748ce0b9a81"
Instance details

Defined in GeniusYield.Types.KeyHash

Methods

toField :: GYKeyHash kr -> Field #

IsString (GYKeyHash kr) # 
Instance details

Defined in GeniusYield.Types.KeyHash

Methods

fromString :: String -> GYKeyHash kr #

SingGYKeyRoleI kr => Show (GYKeyHash kr) # 
Instance details

Defined in GeniusYield.Types.KeyHash

Methods

showsPrec :: Int -> GYKeyHash kr -> ShowS #

show :: GYKeyHash kr -> String #

showList :: [GYKeyHash kr] -> ShowS #

Eq (GYKeyHash kr) # 
Instance details

Defined in GeniusYield.Types.KeyHash

Methods

(==) :: GYKeyHash kr -> GYKeyHash kr -> Bool #

(/=) :: GYKeyHash kr -> GYKeyHash kr -> Bool #

Ord (GYKeyHash kr) # 
Instance details

Defined in GeniusYield.Types.KeyHash

Methods

compare :: GYKeyHash kr -> GYKeyHash kr -> Ordering #

(<) :: GYKeyHash kr -> GYKeyHash kr -> Bool #

(<=) :: GYKeyHash kr -> GYKeyHash kr -> Bool #

(>) :: GYKeyHash kr -> GYKeyHash kr -> Bool #

(>=) :: GYKeyHash kr -> GYKeyHash kr -> Bool #

max :: GYKeyHash kr -> GYKeyHash kr -> GYKeyHash kr #

min :: GYKeyHash kr -> GYKeyHash kr -> GYKeyHash kr #

SingGYKeyRoleI kr => ToSchema (GYKeyHash kr) #
>>> Aeson.encode (Swagger.toSchema (Proxy :: Proxy (GYKeyHash 'GYKeyRolePayment)))
"{\"description\":\"The hash of a key with role as GYKeyRolePayment\",\"example\":\"e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d\",\"format\":\"hex\",\"maxLength\":56,\"minLength\":56,\"type\":\"string\"}"
Instance details

Defined in GeniusYield.Types.KeyHash

keyHashToLedger :: forall (kr :: GYKeyRole). GYKeyHash kr -> KeyHash (GYKeyRoleToLedger kr) #

Convert to corresponding ledger representation.

keyHashFromLedger :: forall (kr :: GYKeyRole). KeyHash (GYKeyRoleToLedger kr) -> GYKeyHash kr #

Convert from corresponding ledger representation.

keyHashToApi :: forall (kr :: GYKeyRole). SingGYKeyRoleI kr => GYKeyHash kr -> GYHashToApi kr #

>>> keyHashToApi pkh
"ec91ac77b581ba928db86cd91d11e64032450677c6b80748ce0b9a81"

keyHashFromApi :: forall (kr :: GYKeyRole). SingGYKeyRoleI kr => GYHashToApi kr -> GYKeyHash kr #

>>> keyHashFromApi @'GYKeyRolePayment "e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d"
GYKeyHash (GYKeyRolePayment) "e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d"

keyHashToRawBytes :: forall (kr :: GYKeyRole). GYKeyHash kr -> ByteString #

Get corresponding raw bytes.

keyHashToRawBytesHex :: forall (kr :: GYKeyRole). GYKeyHash kr -> ByteString #

Get corresponding raw bytes represented as hex.

keyHashToRawBytesHexText :: forall (kr :: GYKeyRole). GYKeyHash kr -> Text #

Get corresponding raw bytes represented as hex text.

keyHashFromRawBytes :: forall (kr :: GYKeyRole). ByteString -> Maybe (GYKeyHash kr) #

Decode from raw bytes.

keyHashFromRawBytesHex :: forall (kr :: GYKeyRole). ByteString -> Either String (GYKeyHash kr) #

Decode from raw bytes represented as hex.

data GYVRFVerKeyHash (kr :: GYKeyRoleVRF) #

Hash of a public key corresponding to a given GYKeyRoleVRF.

Instances

Instances details
IsString (GYVRFVerKeyHash kr) #
>>> "e132b26f3af1bd2a3d6af837ab09a60742625726415a29ca60d4778ff93da74e" :: (GYVRFVerKeyHash 'GYKeyRoleVRFStakePool)
GYVRFVerKeyHash (GYKeyRoleVRFStakePool) "e132b26f3af1bd2a3d6af837ab09a60742625726415a29ca60d4778ff93da74e"
Instance details

Defined in GeniusYield.Types.KeyHash

Show (GYVRFVerKeyHash kr) # 
Instance details

Defined in GeniusYield.Types.KeyHash

Eq (GYVRFVerKeyHash kr) # 
Instance details

Defined in GeniusYield.Types.KeyHash

Ord (GYVRFVerKeyHash kr) # 
Instance details

Defined in GeniusYield.Types.KeyHash

vrfVerKeyHashToRawBytes :: forall (kr :: GYKeyRoleVRF). GYVRFVerKeyHash kr -> ByteString #

Get corresponding raw bytes.

vrfVerKeyHashToRawBytesHex :: forall (kr :: GYKeyRoleVRF). GYVRFVerKeyHash kr -> ByteString #

Get corresponding raw bytes represented as hex.

vrfVerKeyHashToRawBytesHexText :: forall (kr :: GYKeyRoleVRF). GYVRFVerKeyHash kr -> Text #

Get corresponding raw bytes represented as hex text.

vrfVerKeyHashFromRawBytes :: forall (kr :: GYKeyRoleVRF). ByteString -> Maybe (GYVRFVerKeyHash kr) #

Decode from raw bytes.

vrfVerKeyHashFromRawBytesHex :: forall (kr :: GYKeyRoleVRF). ByteString -> Either String (GYVRFVerKeyHash kr) #

Decode from raw bytes represented as hex.