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

GeniusYield.Types.PubKeyHash

Description

 
Synopsis

Documentation

data GYPubKeyHash #

Instances

Instances details
FromJSON GYPubKeyHash #
>>> Aeson.eitherDecode @GYPubKeyHash "\"e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d\""
Right (GYPubKeyHash "e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d")

Invalid characters:

>>> Aeson.eitherDecode @GYPubKeyHash "\"e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6azzz\""
Left "Error in $: RawBytesHexErrorBase16DecodeFail \"e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6azzz\" \"invalid character at offset: 53\""
Instance details

Defined in GeniusYield.Types.PubKeyHash

ToJSON GYPubKeyHash #
>>> let Just pkh = Aeson.decode @GYPubKeyHash "\"e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d\""
>>> LBS8.putStrLn $ Aeson.encode pkh
"e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d"
Instance details

Defined in GeniusYield.Types.PubKeyHash

AsPubKeyHash GYPubKeyHash # 
Instance details

Defined in GeniusYield.Types.PubKeyHash

CanSignTx GYPubKeyHash # 
Instance details

Defined in GeniusYield.Types.PubKeyHash

PrintfArg GYPubKeyHash #
>>> Printf.printf "%s\n" $ pubKeyHashFromApi "e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d"
e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d
Instance details

Defined in GeniusYield.Types.PubKeyHash

FromField GYPubKeyHash #
>>> Csv.runParser $ Csv.parseField @GYPubKeyHash "e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d"
Right (GYPubKeyHash "e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d")
>>> Csv.runParser $ Csv.parseField @GYPubKeyHash "not a pubkey hash"
Left "RawBytesHexErrorBase16DecodeFail \"not a pubkey hash\" \"invalid bytestring size\""
Instance details

Defined in GeniusYield.Types.PubKeyHash

ToField GYPubKeyHash #
>>> Csv.toField @GYPubKeyHash "e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d"
"e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d"
Instance details

Defined in GeniusYield.Types.PubKeyHash

IsString GYPubKeyHash # 
Instance details

Defined in GeniusYield.Types.PubKeyHash

Show GYPubKeyHash # 
Instance details

Defined in GeniusYield.Types.PubKeyHash

Eq GYPubKeyHash # 
Instance details

Defined in GeniusYield.Types.PubKeyHash

Ord GYPubKeyHash # 
Instance details

Defined in GeniusYield.Types.PubKeyHash

ToSchema GYPubKeyHash # 
Instance details

Defined in GeniusYield.Types.PubKeyHash

class AsPubKeyHash a => CanSignTx a #

Instances

Instances details
CanSignTx GYPubKeyHash # 
Instance details

Defined in GeniusYield.Types.PubKeyHash

CanSignTx (GYKeyHash kr) # 
Instance details

Defined in GeniusYield.Types.KeyHash

pubKeyHashFromPlutus :: PubKeyHash -> Either PlutusToCardanoError GYPubKeyHash #

>>> pubKeyHashFromPlutus "e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d"
Right (GYPubKeyHash "e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d")
>>> pubKeyHashFromPlutus "abcd"
Left (DeserialiseRawBytesError {ptceTag = "pubKeyHashFromPlutus \"\\171\\205\", error: SerialiseAsRawBytesError {unSerialiseAsRawBytesError = \"Unable to deserialise Hash PaymentKey\"}"})

pubKeyHashToPlutus :: GYPubKeyHash -> PubKeyHash #

>>> let Just pkh = Aeson.decode @GYPubKeyHash "\"e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d\""
>>> pubKeyHashToPlutus pkh
e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d

pubKeyHashToApi :: GYPubKeyHash -> Hash PaymentKey #

>>> let Just pkh = Aeson.decode @GYPubKeyHash "\"e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d\""
>>> pubKeyHashToApi pkh
"e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d"

pubKeyHashFromApi :: Hash PaymentKey -> GYPubKeyHash #

>>> pubKeyHashFromApi "e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d"
GYPubKeyHash "e1cbb80db89e292269aeb93ec15eb963dda5176b66949fe1c2a6a38d"

pubKeyHashToLedger :: forall (a :: KeyRole). GYPubKeyHash -> KeyHash a #

Convert to corresponding ledger representation.

pubKeyHashFromLedger :: forall (a :: KeyRole). KeyHash a -> GYPubKeyHash #

Convert from corresponding ledger representation.