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