hydra-node-0.15.0: The Hydra node
Safe HaskellSafe-Inferred
LanguageGHC2021

Hydra.Ledger.Cardano.Json

Description

Orphans ToJSON/FromJSON instances on ledger types used by Hydra.Ledger.Cardano to have JSON representations for various types.

XXX: The ledger team notified that we should be using lenses going forward.

Synopsis

Documentation

decodeAddress :: Crypto crypto => Text -> Parser (Addr crypto) Source #

rewardAcntToText :: RewardAcnt crypto -> Text Source #

rewardAcntFromText :: Crypto crypto => Text -> Maybe (RewardAcnt crypto) Source #

safeHashToText :: SafeHash crypto any -> Text Source #

safeHashFromText :: (Crypto crypto, MonadFail m) => Text -> m (SafeHash crypto any) Source #

Helpers

onlyIf :: ToJSON a => (a -> Bool) -> Key -> a -> [Pair] Source #

isOpenInterval :: ValidityInterval -> Bool Source #

parseHexEncodedCbor :: forall era a. (Era era, DecCBOR a) => Text -> Value -> Parser a Source #

Parse a hex-encoded CBOR value in given era.

parseHexEncodedCborAnnotated :: forall era a. (Era era, DecCBOR (Annotator a)) => Text -> Value -> Parser a Source #

Parse a hex-encoded, annotated CBOR value in given era.

Orphan instances

FromJSON ValidityInterval Source # 
Instance details

Methods

parseJSON :: Value -> Parser ValidityInterval

parseJSONList :: Value -> Parser [ValidityInterval]

FromJSON IsValid Source # 
Instance details

Methods

parseJSON :: Value -> Parser IsValid

parseJSONList :: Value -> Parser [IsValid]

ToJSON ValidityInterval Source # 
Instance details

Methods

toJSON :: ValidityInterval -> Value

toEncoding :: ValidityInterval -> Encoding

toJSONList :: [ValidityInterval] -> Value

toEncodingList :: [ValidityInterval] -> Encoding

ToJSON IsValid Source # 
Instance details

Methods

toJSON :: IsValid -> Value

toEncoding :: IsValid -> Encoding

toJSONList :: [IsValid] -> Value

toEncodingList :: [IsValid] -> Encoding

Era era => FromJSON (Timelock era) Source # 
Instance details

Methods

parseJSON :: Value -> Parser (Timelock era)

parseJSONList :: Value -> Parser [Timelock era]

Era era => FromJSON (AlonzoScript era) Source # 
Instance details

Methods

parseJSON :: Value -> Parser (AlonzoScript era)

parseJSONList :: Value -> Parser [AlonzoScript era]

Era era => FromJSON (Data era) Source # 
Instance details

Methods

parseJSON :: Value -> Parser (Data era)

parseJSONList :: Value -> Parser [Data era]

(FromJSON (TxBody era), FromJSON (TxWits era), FromJSON (TxAuxData era), DecCBOR (Annotator (TxBody era)), DecCBOR (Annotator (TxWits era)), DecCBOR (Annotator (TxAuxData era)), Era era) => FromJSON (AlonzoTx era) Source # 
Instance details

Methods

parseJSON :: Value -> Parser (AlonzoTx era)

parseJSONList :: Value -> Parser [AlonzoTx era]

Era era => FromJSON (AlonzoTxAuxData era) Source # 
Instance details

Methods

parseJSON :: Value -> Parser (AlonzoTxAuxData era)

parseJSONList :: Value -> Parser [AlonzoTxAuxData era]

(FromJSON (Script era), Script era ~ AlonzoScript era, Era era) => FromJSON (AlonzoTxWits era) Source # 
Instance details

Methods

parseJSON :: Value -> Parser (AlonzoTxWits era)

parseJSONList :: Value -> Parser [AlonzoTxWits era]

Era era => FromJSON (Redeemers era) Source # 
Instance details

Methods

parseJSON :: Value -> Parser (Redeemers era)

parseJSONList :: Value -> Parser [Redeemers era]

(Crypto (EraCrypto era), Era era) => FromJSON (TxDats era) Source # 
Instance details

Methods

parseJSON :: Value -> Parser (TxDats era)

parseJSONList :: Value -> Parser [TxDats era]

(BabbageEraTxBody era, FromJSON (MaryValue (EraCrypto era)), FromJSON (TxAuxData era), FromJSON (TxOut era), FromJSON (TxCert era), FromJSON (TxIn (EraCrypto era)), FromJSON (BabbageTxOut era)) => FromJSON (BabbageTxBody era) Source # 
Instance details

Methods

parseJSON :: Value -> Parser (BabbageTxBody era)

parseJSONList :: Value -> Parser [BabbageTxBody era]

FromJSON (BabbageTxOut LedgerEra) Source # 
Instance details

Methods

parseJSON :: Value -> Parser (BabbageTxOut LedgerEra)

parseJSONList :: Value -> Parser [BabbageTxOut LedgerEra]

(EncCBOR a, FromJSON a) => FromJSON (Sized a) Source # 
Instance details

Methods

parseJSON :: Value -> Parser (Sized a)

parseJSONList :: Value -> Parser [Sized a]

Crypto crypto => FromJSON (Withdrawals crypto) Source # 
Instance details

Methods

parseJSON :: Value -> Parser (Withdrawals crypto)

parseJSONList :: Value -> Parser [Withdrawals crypto]

Crypto crypto => FromJSON (AuxiliaryDataHash crypto) Source # 
Instance details

Methods

parseJSON :: Value -> Parser (AuxiliaryDataHash crypto)

parseJSONList :: Value -> Parser [AuxiliaryDataHash crypto]

Crypto crypto => FromJSON (BootstrapWitness crypto) Source # 
Instance details

Methods

parseJSON :: Value -> Parser (BootstrapWitness crypto)

parseJSONList :: Value -> Parser [BootstrapWitness crypto]

FromJSON (TxIn StandardCrypto) Source # 
Instance details

Methods

parseJSON :: Value -> Parser (TxIn StandardCrypto)

parseJSONList :: Value -> Parser [TxIn StandardCrypto]

FromJSON (MaryValue StandardCrypto) Source # 
Instance details

Methods

parseJSON :: Value -> Parser (MaryValue StandardCrypto)

parseJSONList :: Value -> Parser [MaryValue StandardCrypto]

(ShelleyEraTxCert era, TxCert era ~ ShelleyTxCert era) => FromJSON (ShelleyTxCert era) Source # 
Instance details

Methods

parseJSON :: Value -> Parser (ShelleyTxCert era)

parseJSONList :: Value -> Parser [ShelleyTxCert era]

Era era => ToJSON (Timelock era) Source # 
Instance details

Methods

toJSON :: Timelock era -> Value

toEncoding :: Timelock era -> Encoding

toJSONList :: [Timelock era] -> Value

toEncodingList :: [Timelock era] -> Encoding

Era era => ToJSON (Data era) Source # 
Instance details

Methods

toJSON :: Data era -> Value

toEncoding :: Data era -> Encoding

toJSONList :: [Data era] -> Value

toEncodingList :: [Data era] -> Encoding

(ToJSON (TxBody era), ToJSON (TxAuxData era), ToJSON (TxWits era), EraTxBody era, Era era) => ToJSON (AlonzoTx era) Source # 
Instance details

Methods

toJSON :: AlonzoTx era -> Value

toEncoding :: AlonzoTx era -> Encoding

toJSONList :: [AlonzoTx era] -> Value

toEncodingList :: [AlonzoTx era] -> Encoding

Era era => ToJSON (AlonzoTxAuxData era) Source # 
Instance details

Methods

toJSON :: AlonzoTxAuxData era -> Value

toEncoding :: AlonzoTxAuxData era -> Encoding

toJSONList :: [AlonzoTxAuxData era] -> Value

toEncodingList :: [AlonzoTxAuxData era] -> Encoding

(ToJSON (Script era), Script era ~ AlonzoScript era, Era era) => ToJSON (AlonzoTxWits era) Source # 
Instance details

Methods

toJSON :: AlonzoTxWits era -> Value

toEncoding :: AlonzoTxWits era -> Encoding

toJSONList :: [AlonzoTxWits era] -> Value

toEncodingList :: [AlonzoTxWits era] -> Encoding

Era era => ToJSON (Redeemers era) Source # 
Instance details

Methods

toJSON :: Redeemers era -> Value

toEncoding :: Redeemers era -> Encoding

toJSONList :: [Redeemers era] -> Value

toEncodingList :: [Redeemers era] -> Encoding

(Era era, Crypto (EraCrypto era)) => ToJSON (TxDats era) Source # 
Instance details

Methods

toJSON :: TxDats era -> Value

toEncoding :: TxDats era -> Encoding

toJSONList :: [TxDats era] -> Value

toEncodingList :: [TxDats era] -> Encoding

ToJSON (BabbageTxBody LedgerEra) Source # 
Instance details

Methods

toJSON :: BabbageTxBody LedgerEra -> Value

toEncoding :: BabbageTxBody LedgerEra -> Encoding

toJSONList :: [BabbageTxBody LedgerEra] -> Value

toEncodingList :: [BabbageTxBody LedgerEra] -> Encoding

Crypto crypto => ToJSON (Withdrawals crypto) Source # 
Instance details

Methods

toJSON :: Withdrawals crypto -> Value

toEncoding :: Withdrawals crypto -> Encoding

toJSONList :: [Withdrawals crypto] -> Value

toEncodingList :: [Withdrawals crypto] -> Encoding

Crypto crypto => ToJSON (BootstrapWitness crypto) Source # 
Instance details

Methods

toJSON :: BootstrapWitness crypto -> Value

toEncoding :: BootstrapWitness crypto -> Encoding

toJSONList :: [BootstrapWitness crypto] -> Value

toEncodingList :: [BootstrapWitness crypto] -> Encoding

Era era => ToJSON (ShelleyTxCert era) Source # 
Instance details

Methods

toJSON :: ShelleyTxCert era -> Value

toEncoding :: ShelleyTxCert era -> Encoding

toJSONList :: [ShelleyTxCert era] -> Value

toEncodingList :: [ShelleyTxCert era] -> Encoding

FromJSON (BabbagePParams Identity era) Source # 
Instance details

Methods

parseJSON :: Value -> Parser (BabbagePParams Identity era)

parseJSONList :: Value -> Parser [BabbagePParams Identity era]

Crypto crypto => FromJSON (WitVKey 'Witness crypto) Source # 
Instance details

Methods

parseJSON :: Value -> Parser (WitVKey 'Witness crypto)

parseJSONList :: Value -> Parser [WitVKey 'Witness crypto]

Crypto crypto => FromJSONKey (SafeHash crypto any) Source # 
Instance details

Methods

fromJSONKey :: FromJSONKeyFunction (SafeHash crypto any)

fromJSONKeyList :: FromJSONKeyFunction [SafeHash crypto any]

Crypto crypto => ToJSON (WitVKey 'Witness crypto) Source # 
Instance details

Methods

toJSON :: WitVKey 'Witness crypto -> Value

toEncoding :: WitVKey 'Witness crypto -> Encoding

toJSONList :: [WitVKey 'Witness crypto] -> Value

toEncodingList :: [WitVKey 'Witness crypto] -> Encoding

Crypto crypto => ToJSONKey (SafeHash crypto any) Source # 
Instance details

Methods

toJSONKey :: ToJSONKeyFunction (SafeHash crypto any)

toJSONKeyList :: ToJSONKeyFunction [SafeHash crypto any]