{-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -Wno-orphans #-} module Cardano.Ledger.Conway.TxWits ( module BabbageTxWitsReExport, ) where import Cardano.Ledger.Alonzo.TxWits ( addrAlonzoTxWitsL, bootAddrAlonzoTxWitsL, datsAlonzoTxWitsL, rdmrsAlonzoTxWitsL, scriptAlonzoTxWitsL, upgradeRedeemers, upgradeTxDats, ) import Cardano.Ledger.Alonzo.TxWits as BabbageTxWitsReExport ( AlonzoEraTxWits (..), AlonzoTxWits (..), ) import Cardano.Ledger.Conway.Era (ConwayEra) import Cardano.Ledger.Conway.Scripts () import Cardano.Ledger.Core instance EraTxWits ConwayEra where type TxWits ConwayEra = AlonzoTxWits ConwayEra mkBasicTxWits :: TxWits ConwayEra mkBasicTxWits = TxWits ConwayEra AlonzoTxWits ConwayEra forall a. Monoid a => a mempty addrTxWitsL :: Lens' (TxWits ConwayEra) (Set (WitVKey 'Witness)) addrTxWitsL = (Set (WitVKey 'Witness) -> f (Set (WitVKey 'Witness))) -> TxWits ConwayEra -> f (TxWits ConwayEra) (Set (WitVKey 'Witness) -> f (Set (WitVKey 'Witness))) -> AlonzoTxWits ConwayEra -> f (AlonzoTxWits ConwayEra) forall era. AlonzoEraScript era => Lens' (AlonzoTxWits era) (Set (WitVKey 'Witness)) Lens' (AlonzoTxWits ConwayEra) (Set (WitVKey 'Witness)) addrAlonzoTxWitsL {-# INLINE addrTxWitsL #-} bootAddrTxWitsL :: Lens' (TxWits ConwayEra) (Set BootstrapWitness) bootAddrTxWitsL = (Set BootstrapWitness -> f (Set BootstrapWitness)) -> TxWits ConwayEra -> f (TxWits ConwayEra) (Set BootstrapWitness -> f (Set BootstrapWitness)) -> AlonzoTxWits ConwayEra -> f (AlonzoTxWits ConwayEra) forall era. AlonzoEraScript era => Lens' (AlonzoTxWits era) (Set BootstrapWitness) Lens' (AlonzoTxWits ConwayEra) (Set BootstrapWitness) bootAddrAlonzoTxWitsL {-# INLINE bootAddrTxWitsL #-} scriptTxWitsL :: Lens' (TxWits ConwayEra) (Map ScriptHash (Script ConwayEra)) scriptTxWitsL = (Map ScriptHash (Script ConwayEra) -> f (Map ScriptHash (Script ConwayEra))) -> TxWits ConwayEra -> f (TxWits ConwayEra) (Map ScriptHash (Script ConwayEra) -> f (Map ScriptHash (Script ConwayEra))) -> AlonzoTxWits ConwayEra -> f (AlonzoTxWits ConwayEra) forall era. AlonzoEraScript era => Lens' (AlonzoTxWits era) (Map ScriptHash (Script era)) Lens' (AlonzoTxWits ConwayEra) (Map ScriptHash (Script ConwayEra)) scriptAlonzoTxWitsL {-# INLINE scriptTxWitsL #-} upgradeTxWits :: EraTxWits (PreviousEra ConwayEra) => TxWits (PreviousEra ConwayEra) -> TxWits ConwayEra upgradeTxWits TxWits (PreviousEra ConwayEra) atw = AlonzoTxWits { txwitsVKey :: Set (WitVKey 'Witness) txwitsVKey = AlonzoTxWits BabbageEra -> Set (WitVKey 'Witness) forall era. AlonzoEraScript era => AlonzoTxWits era -> Set (WitVKey 'Witness) txwitsVKey TxWits (PreviousEra ConwayEra) AlonzoTxWits BabbageEra atw , txwitsBoot :: Set BootstrapWitness txwitsBoot = AlonzoTxWits BabbageEra -> Set BootstrapWitness forall era. AlonzoEraScript era => AlonzoTxWits era -> Set BootstrapWitness txwitsBoot TxWits (PreviousEra ConwayEra) AlonzoTxWits BabbageEra atw , txscripts :: Map ScriptHash (Script ConwayEra) txscripts = Script (PreviousEra ConwayEra) -> Script ConwayEra forall era. (EraScript era, EraScript (PreviousEra era)) => Script (PreviousEra era) -> Script era upgradeScript (Script (PreviousEra ConwayEra) -> Script ConwayEra) -> Map ScriptHash (Script (PreviousEra ConwayEra)) -> Map ScriptHash (Script ConwayEra) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> AlonzoTxWits (PreviousEra ConwayEra) -> Map ScriptHash (Script (PreviousEra ConwayEra)) forall era. AlonzoEraScript era => AlonzoTxWits era -> Map ScriptHash (Script era) txscripts TxWits (PreviousEra ConwayEra) AlonzoTxWits (PreviousEra ConwayEra) atw , txdats :: TxDats ConwayEra txdats = TxDats BabbageEra -> TxDats ConwayEra forall era1 era2. (Era era1, Era era2) => TxDats era1 -> TxDats era2 upgradeTxDats (AlonzoTxWits BabbageEra -> TxDats BabbageEra forall era. AlonzoEraScript era => AlonzoTxWits era -> TxDats era txdats TxWits (PreviousEra ConwayEra) AlonzoTxWits BabbageEra atw) , txrdmrs :: Redeemers ConwayEra txrdmrs = Redeemers (PreviousEra ConwayEra) -> Redeemers ConwayEra forall era. (AlonzoEraScript (PreviousEra era), AlonzoEraScript era) => Redeemers (PreviousEra era) -> Redeemers era upgradeRedeemers (AlonzoTxWits BabbageEra -> Redeemers BabbageEra forall era. AlonzoEraScript era => AlonzoTxWits era -> Redeemers era txrdmrs TxWits (PreviousEra ConwayEra) AlonzoTxWits BabbageEra atw) } instance AlonzoEraTxWits ConwayEra where datsTxWitsL :: Lens' (TxWits ConwayEra) (TxDats ConwayEra) datsTxWitsL = (TxDats ConwayEra -> f (TxDats ConwayEra)) -> TxWits ConwayEra -> f (TxWits ConwayEra) (TxDats ConwayEra -> f (TxDats ConwayEra)) -> AlonzoTxWits ConwayEra -> f (AlonzoTxWits ConwayEra) forall era. AlonzoEraScript era => Lens' (AlonzoTxWits era) (TxDats era) Lens' (AlonzoTxWits ConwayEra) (TxDats ConwayEra) datsAlonzoTxWitsL {-# INLINE datsTxWitsL #-} rdmrsTxWitsL :: Lens' (TxWits ConwayEra) (Redeemers ConwayEra) rdmrsTxWitsL = (Redeemers ConwayEra -> f (Redeemers ConwayEra)) -> TxWits ConwayEra -> f (TxWits ConwayEra) (Redeemers ConwayEra -> f (Redeemers ConwayEra)) -> AlonzoTxWits ConwayEra -> f (AlonzoTxWits ConwayEra) forall era. AlonzoEraScript era => Lens' (AlonzoTxWits era) (Redeemers era) Lens' (AlonzoTxWits ConwayEra) (Redeemers ConwayEra) rdmrsAlonzoTxWitsL {-# INLINE rdmrsTxWitsL #-}