{-# LANGUAGE DataKinds #-} {-# LANGUAGE DerivingStrategies #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -Wno-orphans #-} module Cardano.Ledger.Dijkstra.Scripts (PlutusScript (..)) where import Cardano.Ledger.Allegra.Scripts ( AllegraEraScript (..), Timelock, getRequireAllOfTimelock, getRequireAnyOfTimelock, getRequireMOfTimelock, getRequireSignatureTimelock, getTimeExpireTimelock, getTimeStartTimelock, mkRequireAllOfTimelock, mkRequireAnyOfTimelock, mkRequireMOfTimelock, mkRequireSignatureTimelock, mkTimeExpireTimelock, mkTimeStartTimelock, translateTimelock, ) import Cardano.Ledger.Alonzo (AlonzoScript) import Cardano.Ledger.Alonzo.Scripts ( AlonzoEraScript (..), AlonzoScript (..), AsIx (..), alonzoScriptPrefixTag, ) import Cardano.Ledger.Conway (ConwayEra) import Cardano.Ledger.Conway.Scripts ( ConwayEraScript (..), ConwayPlutusPurpose (..), PlutusScript (..), ) import Cardano.Ledger.Core (EraScript (..), SafeToHash) import Cardano.Ledger.Dijkstra.Era (DijkstraEra) import Cardano.Ledger.Dijkstra.PParams () import Cardano.Ledger.Dijkstra.TxCert () import Cardano.Ledger.Plutus (Language (..)) import Cardano.Ledger.Shelley.Scripts (ShelleyEraScript (..)) import Control.DeepSeq (NFData) import Data.MemPack (MemPack (..)) import GHC.Generics (Generic) import NoThunks.Class (NoThunks) instance EraScript DijkstraEra where type Script DijkstraEra = AlonzoScript DijkstraEra type NativeScript DijkstraEra = Timelock DijkstraEra upgradeScript :: EraScript (PreviousEra DijkstraEra) => Script (PreviousEra DijkstraEra) -> Script DijkstraEra upgradeScript = \case TimelockScript Timelock ConwayEra ts -> Timelock DijkstraEra -> AlonzoScript DijkstraEra forall era. Timelock era -> AlonzoScript era TimelockScript (Timelock DijkstraEra -> AlonzoScript DijkstraEra) -> Timelock DijkstraEra -> AlonzoScript DijkstraEra forall a b. (a -> b) -> a -> b $ Timelock ConwayEra -> Timelock DijkstraEra forall era1 era2. (Era era1, Era era2) => Timelock era1 -> Timelock era2 translateTimelock Timelock ConwayEra ts PlutusScript PlutusScript ConwayEra ps -> PlutusScript DijkstraEra -> AlonzoScript DijkstraEra forall era. PlutusScript era -> AlonzoScript era PlutusScript (PlutusScript DijkstraEra -> AlonzoScript DijkstraEra) -> PlutusScript DijkstraEra -> AlonzoScript DijkstraEra forall a b. (a -> b) -> a -> b $ PlutusScript ConwayEra -> PlutusScript DijkstraEra MkDijkstraPlutusScript PlutusScript ConwayEra ps scriptPrefixTag :: Script DijkstraEra -> ByteString scriptPrefixTag = Script DijkstraEra -> ByteString forall era. (AlonzoEraScript era, AlonzoScript era ~ Script era) => Script era -> ByteString alonzoScriptPrefixTag getNativeScript :: Script DijkstraEra -> Maybe (NativeScript DijkstraEra) getNativeScript (TimelockScript Timelock DijkstraEra ts) = Timelock DijkstraEra -> Maybe (Timelock DijkstraEra) forall a. a -> Maybe a Just Timelock DijkstraEra ts getNativeScript Script DijkstraEra _ = Maybe (Timelock DijkstraEra) Maybe (NativeScript DijkstraEra) forall a. Maybe a Nothing fromNativeScript :: NativeScript DijkstraEra -> Script DijkstraEra fromNativeScript = Timelock DijkstraEra -> AlonzoScript DijkstraEra NativeScript DijkstraEra -> Script DijkstraEra forall era. Timelock era -> AlonzoScript era TimelockScript instance MemPack (PlutusScript DijkstraEra) where packedByteCount :: PlutusScript DijkstraEra -> Int packedByteCount = PlutusScript ConwayEra -> Int forall a. MemPack a => a -> Int packedByteCount (PlutusScript ConwayEra -> Int) -> (PlutusScript DijkstraEra -> PlutusScript ConwayEra) -> PlutusScript DijkstraEra -> Int forall b c a. (b -> c) -> (a -> b) -> a -> c . PlutusScript DijkstraEra -> PlutusScript ConwayEra unDijkstraPlutusScript packM :: forall s. PlutusScript DijkstraEra -> Pack s () packM = PlutusScript ConwayEra -> Pack s () forall s. PlutusScript ConwayEra -> Pack s () forall a s. MemPack a => a -> Pack s () packM (PlutusScript ConwayEra -> Pack s ()) -> (PlutusScript DijkstraEra -> PlutusScript ConwayEra) -> PlutusScript DijkstraEra -> Pack s () forall b c a. (b -> c) -> (a -> b) -> a -> c . PlutusScript DijkstraEra -> PlutusScript ConwayEra unDijkstraPlutusScript unpackM :: forall b. Buffer b => Unpack b (PlutusScript DijkstraEra) unpackM = PlutusScript ConwayEra -> PlutusScript DijkstraEra MkDijkstraPlutusScript (PlutusScript ConwayEra -> PlutusScript DijkstraEra) -> Unpack b (PlutusScript ConwayEra) -> Unpack b (PlutusScript DijkstraEra) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Unpack b (PlutusScript ConwayEra) forall a b. (MemPack a, Buffer b) => Unpack b a forall b. Buffer b => Unpack b (PlutusScript ConwayEra) unpackM instance AlonzoEraScript DijkstraEra where newtype PlutusScript DijkstraEra = MkDijkstraPlutusScript {PlutusScript DijkstraEra -> PlutusScript ConwayEra unDijkstraPlutusScript :: PlutusScript ConwayEra} deriving newtype (PlutusScript DijkstraEra -> Int PlutusScript DijkstraEra -> ByteString (PlutusScript DijkstraEra -> ByteString) -> (PlutusScript DijkstraEra -> Int) -> (forall i. Proxy i -> PlutusScript DijkstraEra -> SafeHash i) -> SafeToHash (PlutusScript DijkstraEra) forall i. Proxy i -> PlutusScript DijkstraEra -> SafeHash i forall t. (t -> ByteString) -> (t -> Int) -> (forall i. Proxy i -> t -> SafeHash i) -> SafeToHash t $coriginalBytes :: PlutusScript DijkstraEra -> ByteString originalBytes :: PlutusScript DijkstraEra -> ByteString $coriginalBytesSize :: PlutusScript DijkstraEra -> Int originalBytesSize :: PlutusScript DijkstraEra -> Int $cmakeHashWithExplicitProxys :: forall i. Proxy i -> PlutusScript DijkstraEra -> SafeHash i makeHashWithExplicitProxys :: forall i. Proxy i -> PlutusScript DijkstraEra -> SafeHash i SafeToHash, Int -> PlutusScript DijkstraEra -> ShowS [PlutusScript DijkstraEra] -> ShowS PlutusScript DijkstraEra -> String (Int -> PlutusScript DijkstraEra -> ShowS) -> (PlutusScript DijkstraEra -> String) -> ([PlutusScript DijkstraEra] -> ShowS) -> Show (PlutusScript DijkstraEra) forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> PlutusScript DijkstraEra -> ShowS showsPrec :: Int -> PlutusScript DijkstraEra -> ShowS $cshow :: PlutusScript DijkstraEra -> String show :: PlutusScript DijkstraEra -> String $cshowList :: [PlutusScript DijkstraEra] -> ShowS showList :: [PlutusScript DijkstraEra] -> ShowS Show, PlutusScript DijkstraEra -> () (PlutusScript DijkstraEra -> ()) -> NFData (PlutusScript DijkstraEra) forall a. (a -> ()) -> NFData a $crnf :: PlutusScript DijkstraEra -> () rnf :: PlutusScript DijkstraEra -> () NFData, Context -> PlutusScript DijkstraEra -> IO (Maybe ThunkInfo) Proxy (PlutusScript DijkstraEra) -> String (Context -> PlutusScript DijkstraEra -> IO (Maybe ThunkInfo)) -> (Context -> PlutusScript DijkstraEra -> IO (Maybe ThunkInfo)) -> (Proxy (PlutusScript DijkstraEra) -> String) -> NoThunks (PlutusScript DijkstraEra) forall a. (Context -> a -> IO (Maybe ThunkInfo)) -> (Context -> a -> IO (Maybe ThunkInfo)) -> (Proxy a -> String) -> NoThunks a $cnoThunks :: Context -> PlutusScript DijkstraEra -> IO (Maybe ThunkInfo) noThunks :: Context -> PlutusScript DijkstraEra -> IO (Maybe ThunkInfo) $cwNoThunks :: Context -> PlutusScript DijkstraEra -> IO (Maybe ThunkInfo) wNoThunks :: Context -> PlutusScript DijkstraEra -> IO (Maybe ThunkInfo) $cshowTypeOf :: Proxy (PlutusScript DijkstraEra) -> String showTypeOf :: Proxy (PlutusScript DijkstraEra) -> String NoThunks, PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> Bool (PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> Bool) -> (PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> Bool) -> Eq (PlutusScript DijkstraEra) forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> Bool == :: PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> Bool $c/= :: PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> Bool /= :: PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> Bool Eq, Eq (PlutusScript DijkstraEra) Eq (PlutusScript DijkstraEra) => (PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> Ordering) -> (PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> Bool) -> (PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> Bool) -> (PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> Bool) -> (PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> Bool) -> (PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> PlutusScript DijkstraEra) -> (PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> PlutusScript DijkstraEra) -> Ord (PlutusScript DijkstraEra) PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> Bool PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> Ordering PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> PlutusScript DijkstraEra forall a. Eq a => (a -> a -> Ordering) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> a) -> (a -> a -> a) -> Ord a $ccompare :: PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> Ordering compare :: PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> Ordering $c< :: PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> Bool < :: PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> Bool $c<= :: PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> Bool <= :: PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> Bool $c> :: PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> Bool > :: PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> Bool $c>= :: PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> Bool >= :: PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> Bool $cmax :: PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> PlutusScript DijkstraEra max :: PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> PlutusScript DijkstraEra $cmin :: PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> PlutusScript DijkstraEra min :: PlutusScript DijkstraEra -> PlutusScript DijkstraEra -> PlutusScript DijkstraEra Ord, (forall x. PlutusScript DijkstraEra -> Rep (PlutusScript DijkstraEra) x) -> (forall x. Rep (PlutusScript DijkstraEra) x -> PlutusScript DijkstraEra) -> Generic (PlutusScript DijkstraEra) forall x. Rep (PlutusScript DijkstraEra) x -> PlutusScript DijkstraEra forall x. PlutusScript DijkstraEra -> Rep (PlutusScript DijkstraEra) x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cfrom :: forall x. PlutusScript DijkstraEra -> Rep (PlutusScript DijkstraEra) x from :: forall x. PlutusScript DijkstraEra -> Rep (PlutusScript DijkstraEra) x $cto :: forall x. Rep (PlutusScript DijkstraEra) x -> PlutusScript DijkstraEra to :: forall x. Rep (PlutusScript DijkstraEra) x -> PlutusScript DijkstraEra Generic) type PlutusPurpose f DijkstraEra = ConwayPlutusPurpose f DijkstraEra eraMaxLanguage :: Language eraMaxLanguage = Language PlutusV3 mkPlutusScript :: forall (l :: Language). PlutusLanguage l => Plutus l -> Maybe (PlutusScript DijkstraEra) mkPlutusScript = (PlutusScript ConwayEra -> PlutusScript DijkstraEra) -> Maybe (PlutusScript ConwayEra) -> Maybe (PlutusScript DijkstraEra) forall a b. (a -> b) -> Maybe a -> Maybe b forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b fmap PlutusScript ConwayEra -> PlutusScript DijkstraEra MkDijkstraPlutusScript (Maybe (PlutusScript ConwayEra) -> Maybe (PlutusScript DijkstraEra)) -> (Plutus l -> Maybe (PlutusScript ConwayEra)) -> Plutus l -> Maybe (PlutusScript DijkstraEra) forall b c a. (b -> c) -> (a -> b) -> a -> c . Plutus l -> Maybe (PlutusScript ConwayEra) forall era (l :: Language). (AlonzoEraScript era, PlutusLanguage l) => Plutus l -> Maybe (PlutusScript era) forall (l :: Language). PlutusLanguage l => Plutus l -> Maybe (PlutusScript ConwayEra) mkPlutusScript withPlutusScript :: forall a. PlutusScript DijkstraEra -> (forall (l :: Language). PlutusLanguage l => Plutus l -> a) -> a withPlutusScript (MkDijkstraPlutusScript PlutusScript ConwayEra s) = PlutusScript ConwayEra -> (forall (l :: Language). PlutusLanguage l => Plutus l -> a) -> a forall era a. AlonzoEraScript era => PlutusScript era -> (forall (l :: Language). PlutusLanguage l => Plutus l -> a) -> a forall a. PlutusScript ConwayEra -> (forall (l :: Language). PlutusLanguage l => Plutus l -> a) -> a withPlutusScript PlutusScript ConwayEra s hoistPlutusPurpose :: forall (g :: * -> * -> *) (f :: * -> * -> *). (forall ix it. g ix it -> f ix it) -> PlutusPurpose g DijkstraEra -> PlutusPurpose f DijkstraEra hoistPlutusPurpose forall ix it. g ix it -> f ix it f = \case ConwaySpending g Word32 TxIn x -> f Word32 TxIn -> ConwayPlutusPurpose f DijkstraEra forall (f :: * -> * -> *) era. f Word32 TxIn -> ConwayPlutusPurpose f era ConwaySpending (f Word32 TxIn -> ConwayPlutusPurpose f DijkstraEra) -> f Word32 TxIn -> ConwayPlutusPurpose f DijkstraEra forall a b. (a -> b) -> a -> b $ g Word32 TxIn -> f Word32 TxIn forall ix it. g ix it -> f ix it f g Word32 TxIn x ConwayMinting g Word32 PolicyID x -> f Word32 PolicyID -> ConwayPlutusPurpose f DijkstraEra forall (f :: * -> * -> *) era. f Word32 PolicyID -> ConwayPlutusPurpose f era ConwayMinting (f Word32 PolicyID -> ConwayPlutusPurpose f DijkstraEra) -> f Word32 PolicyID -> ConwayPlutusPurpose f DijkstraEra forall a b. (a -> b) -> a -> b $ g Word32 PolicyID -> f Word32 PolicyID forall ix it. g ix it -> f ix it f g Word32 PolicyID x ConwayCertifying g Word32 (TxCert DijkstraEra) x -> f Word32 (TxCert DijkstraEra) -> ConwayPlutusPurpose f DijkstraEra forall (f :: * -> * -> *) era. f Word32 (TxCert era) -> ConwayPlutusPurpose f era ConwayCertifying (f Word32 (TxCert DijkstraEra) -> ConwayPlutusPurpose f DijkstraEra) -> f Word32 (TxCert DijkstraEra) -> ConwayPlutusPurpose f DijkstraEra forall a b. (a -> b) -> a -> b $ g Word32 (ConwayTxCert DijkstraEra) -> f Word32 (ConwayTxCert DijkstraEra) forall ix it. g ix it -> f ix it f g Word32 (TxCert DijkstraEra) g Word32 (ConwayTxCert DijkstraEra) x ConwayRewarding g Word32 RewardAccount x -> f Word32 RewardAccount -> ConwayPlutusPurpose f DijkstraEra forall (f :: * -> * -> *) era. f Word32 RewardAccount -> ConwayPlutusPurpose f era ConwayRewarding (f Word32 RewardAccount -> ConwayPlutusPurpose f DijkstraEra) -> f Word32 RewardAccount -> ConwayPlutusPurpose f DijkstraEra forall a b. (a -> b) -> a -> b $ g Word32 RewardAccount -> f Word32 RewardAccount forall ix it. g ix it -> f ix it f g Word32 RewardAccount x ConwayVoting g Word32 Voter x -> f Word32 Voter -> ConwayPlutusPurpose f DijkstraEra forall (f :: * -> * -> *) era. f Word32 Voter -> ConwayPlutusPurpose f era ConwayVoting (f Word32 Voter -> ConwayPlutusPurpose f DijkstraEra) -> f Word32 Voter -> ConwayPlutusPurpose f DijkstraEra forall a b. (a -> b) -> a -> b $ g Word32 Voter -> f Word32 Voter forall ix it. g ix it -> f ix it f g Word32 Voter x ConwayProposing g Word32 (ProposalProcedure DijkstraEra) x -> f Word32 (ProposalProcedure DijkstraEra) -> ConwayPlutusPurpose f DijkstraEra forall (f :: * -> * -> *) era. f Word32 (ProposalProcedure era) -> ConwayPlutusPurpose f era ConwayProposing (f Word32 (ProposalProcedure DijkstraEra) -> ConwayPlutusPurpose f DijkstraEra) -> f Word32 (ProposalProcedure DijkstraEra) -> ConwayPlutusPurpose f DijkstraEra forall a b. (a -> b) -> a -> b $ g Word32 (ProposalProcedure DijkstraEra) -> f Word32 (ProposalProcedure DijkstraEra) forall ix it. g ix it -> f ix it f g Word32 (ProposalProcedure DijkstraEra) x mkSpendingPurpose :: forall (f :: * -> * -> *). f Word32 TxIn -> PlutusPurpose f DijkstraEra mkSpendingPurpose = f Word32 TxIn -> PlutusPurpose f DijkstraEra f Word32 TxIn -> ConwayPlutusPurpose f DijkstraEra forall (f :: * -> * -> *) era. f Word32 TxIn -> ConwayPlutusPurpose f era ConwaySpending toSpendingPurpose :: forall (f :: * -> * -> *). PlutusPurpose f DijkstraEra -> Maybe (f Word32 TxIn) toSpendingPurpose (ConwaySpending f Word32 TxIn i) = f Word32 TxIn -> Maybe (f Word32 TxIn) forall a. a -> Maybe a Just f Word32 TxIn i toSpendingPurpose PlutusPurpose f DijkstraEra _ = Maybe (f Word32 TxIn) forall a. Maybe a Nothing mkMintingPurpose :: forall (f :: * -> * -> *). f Word32 PolicyID -> PlutusPurpose f DijkstraEra mkMintingPurpose = f Word32 PolicyID -> PlutusPurpose f DijkstraEra f Word32 PolicyID -> ConwayPlutusPurpose f DijkstraEra forall (f :: * -> * -> *) era. f Word32 PolicyID -> ConwayPlutusPurpose f era ConwayMinting toMintingPurpose :: forall (f :: * -> * -> *). PlutusPurpose f DijkstraEra -> Maybe (f Word32 PolicyID) toMintingPurpose (ConwayMinting f Word32 PolicyID i) = f Word32 PolicyID -> Maybe (f Word32 PolicyID) forall a. a -> Maybe a Just f Word32 PolicyID i toMintingPurpose PlutusPurpose f DijkstraEra _ = Maybe (f Word32 PolicyID) forall a. Maybe a Nothing mkCertifyingPurpose :: forall (f :: * -> * -> *). f Word32 (TxCert DijkstraEra) -> PlutusPurpose f DijkstraEra mkCertifyingPurpose = f Word32 (TxCert DijkstraEra) -> PlutusPurpose f DijkstraEra f Word32 (TxCert DijkstraEra) -> ConwayPlutusPurpose f DijkstraEra forall (f :: * -> * -> *) era. f Word32 (TxCert era) -> ConwayPlutusPurpose f era ConwayCertifying toCertifyingPurpose :: forall (f :: * -> * -> *). PlutusPurpose f DijkstraEra -> Maybe (f Word32 (TxCert DijkstraEra)) toCertifyingPurpose (ConwayCertifying f Word32 (TxCert DijkstraEra) i) = f Word32 (ConwayTxCert DijkstraEra) -> Maybe (f Word32 (ConwayTxCert DijkstraEra)) forall a. a -> Maybe a Just f Word32 (TxCert DijkstraEra) f Word32 (ConwayTxCert DijkstraEra) i toCertifyingPurpose PlutusPurpose f DijkstraEra _ = Maybe (f Word32 (TxCert DijkstraEra)) Maybe (f Word32 (ConwayTxCert DijkstraEra)) forall a. Maybe a Nothing mkRewardingPurpose :: forall (f :: * -> * -> *). f Word32 RewardAccount -> PlutusPurpose f DijkstraEra mkRewardingPurpose = f Word32 RewardAccount -> PlutusPurpose f DijkstraEra f Word32 RewardAccount -> ConwayPlutusPurpose f DijkstraEra forall (f :: * -> * -> *) era. f Word32 RewardAccount -> ConwayPlutusPurpose f era ConwayRewarding toRewardingPurpose :: forall (f :: * -> * -> *). PlutusPurpose f DijkstraEra -> Maybe (f Word32 RewardAccount) toRewardingPurpose (ConwayRewarding f Word32 RewardAccount i) = f Word32 RewardAccount -> Maybe (f Word32 RewardAccount) forall a. a -> Maybe a Just f Word32 RewardAccount i toRewardingPurpose PlutusPurpose f DijkstraEra _ = Maybe (f Word32 RewardAccount) forall a. Maybe a Nothing upgradePlutusPurposeAsIx :: AlonzoEraScript (PreviousEra DijkstraEra) => PlutusPurpose AsIx (PreviousEra DijkstraEra) -> PlutusPurpose AsIx DijkstraEra upgradePlutusPurposeAsIx = \case ConwaySpending (AsIx Word32 ix) -> AsIx Word32 TxIn -> ConwayPlutusPurpose AsIx DijkstraEra forall (f :: * -> * -> *) era. f Word32 TxIn -> ConwayPlutusPurpose f era ConwaySpending (Word32 -> AsIx Word32 TxIn forall ix it. ix -> AsIx ix it AsIx Word32 ix) ConwayMinting (AsIx Word32 ix) -> AsIx Word32 PolicyID -> ConwayPlutusPurpose AsIx DijkstraEra forall (f :: * -> * -> *) era. f Word32 PolicyID -> ConwayPlutusPurpose f era ConwayMinting (Word32 -> AsIx Word32 PolicyID forall ix it. ix -> AsIx ix it AsIx Word32 ix) ConwayCertifying (AsIx Word32 ix) -> AsIx Word32 (TxCert DijkstraEra) -> ConwayPlutusPurpose AsIx DijkstraEra forall (f :: * -> * -> *) era. f Word32 (TxCert era) -> ConwayPlutusPurpose f era ConwayCertifying (Word32 -> AsIx Word32 (ConwayTxCert DijkstraEra) forall ix it. ix -> AsIx ix it AsIx Word32 ix) ConwayRewarding (AsIx Word32 ix) -> AsIx Word32 RewardAccount -> ConwayPlutusPurpose AsIx DijkstraEra forall (f :: * -> * -> *) era. f Word32 RewardAccount -> ConwayPlutusPurpose f era ConwayRewarding (Word32 -> AsIx Word32 RewardAccount forall ix it. ix -> AsIx ix it AsIx Word32 ix) ConwayVoting (AsIx Word32 ix) -> AsIx Word32 Voter -> ConwayPlutusPurpose AsIx DijkstraEra forall (f :: * -> * -> *) era. f Word32 Voter -> ConwayPlutusPurpose f era ConwayVoting (Word32 -> AsIx Word32 Voter forall ix it. ix -> AsIx ix it AsIx Word32 ix) ConwayProposing (AsIx Word32 ix) -> AsIx Word32 (ProposalProcedure DijkstraEra) -> ConwayPlutusPurpose AsIx DijkstraEra forall (f :: * -> * -> *) era. f Word32 (ProposalProcedure era) -> ConwayPlutusPurpose f era ConwayProposing (Word32 -> AsIx Word32 (ProposalProcedure DijkstraEra) forall ix it. ix -> AsIx ix it AsIx Word32 ix) instance ConwayEraScript DijkstraEra where mkVotingPurpose :: forall (f :: * -> * -> *). f Word32 Voter -> PlutusPurpose f DijkstraEra mkVotingPurpose = f Word32 Voter -> PlutusPurpose f DijkstraEra f Word32 Voter -> ConwayPlutusPurpose f DijkstraEra forall (f :: * -> * -> *) era. f Word32 Voter -> ConwayPlutusPurpose f era ConwayVoting toVotingPurpose :: forall (f :: * -> * -> *). PlutusPurpose f DijkstraEra -> Maybe (f Word32 Voter) toVotingPurpose (ConwayVoting f Word32 Voter i) = f Word32 Voter -> Maybe (f Word32 Voter) forall a. a -> Maybe a Just f Word32 Voter i toVotingPurpose PlutusPurpose f DijkstraEra _ = Maybe (f Word32 Voter) forall a. Maybe a Nothing mkProposingPurpose :: forall (f :: * -> * -> *). f Word32 (ProposalProcedure DijkstraEra) -> PlutusPurpose f DijkstraEra mkProposingPurpose = f Word32 (ProposalProcedure DijkstraEra) -> PlutusPurpose f DijkstraEra f Word32 (ProposalProcedure DijkstraEra) -> ConwayPlutusPurpose f DijkstraEra forall (f :: * -> * -> *) era. f Word32 (ProposalProcedure era) -> ConwayPlutusPurpose f era ConwayProposing toProposingPurpose :: forall (f :: * -> * -> *). PlutusPurpose f DijkstraEra -> Maybe (f Word32 (ProposalProcedure DijkstraEra)) toProposingPurpose (ConwayProposing f Word32 (ProposalProcedure DijkstraEra) i) = f Word32 (ProposalProcedure DijkstraEra) -> Maybe (f Word32 (ProposalProcedure DijkstraEra)) forall a. a -> Maybe a Just f Word32 (ProposalProcedure DijkstraEra) i toProposingPurpose PlutusPurpose f DijkstraEra _ = Maybe (f Word32 (ProposalProcedure DijkstraEra)) forall a. Maybe a Nothing instance ShelleyEraScript DijkstraEra where mkRequireSignature :: KeyHash 'Witness -> NativeScript DijkstraEra mkRequireSignature = KeyHash 'Witness -> Timelock DijkstraEra KeyHash 'Witness -> NativeScript DijkstraEra forall era. Era era => KeyHash 'Witness -> Timelock era mkRequireSignatureTimelock getRequireSignature :: NativeScript DijkstraEra -> Maybe (KeyHash 'Witness) getRequireSignature = Timelock DijkstraEra -> Maybe (KeyHash 'Witness) NativeScript DijkstraEra -> Maybe (KeyHash 'Witness) forall {k} (era :: k). Timelock era -> Maybe (KeyHash 'Witness) getRequireSignatureTimelock mkRequireAllOf :: StrictSeq (NativeScript DijkstraEra) -> NativeScript DijkstraEra mkRequireAllOf = StrictSeq (Timelock DijkstraEra) -> Timelock DijkstraEra StrictSeq (NativeScript DijkstraEra) -> NativeScript DijkstraEra forall era. Era era => StrictSeq (Timelock era) -> Timelock era mkRequireAllOfTimelock getRequireAllOf :: NativeScript DijkstraEra -> Maybe (StrictSeq (NativeScript DijkstraEra)) getRequireAllOf = Timelock DijkstraEra -> Maybe (StrictSeq (Timelock DijkstraEra)) NativeScript DijkstraEra -> Maybe (StrictSeq (NativeScript DijkstraEra)) forall {k} (era :: k). Timelock era -> Maybe (StrictSeq (Timelock era)) getRequireAllOfTimelock mkRequireAnyOf :: StrictSeq (NativeScript DijkstraEra) -> NativeScript DijkstraEra mkRequireAnyOf = StrictSeq (Timelock DijkstraEra) -> Timelock DijkstraEra StrictSeq (NativeScript DijkstraEra) -> NativeScript DijkstraEra forall era. Era era => StrictSeq (Timelock era) -> Timelock era mkRequireAnyOfTimelock getRequireAnyOf :: NativeScript DijkstraEra -> Maybe (StrictSeq (NativeScript DijkstraEra)) getRequireAnyOf = Timelock DijkstraEra -> Maybe (StrictSeq (Timelock DijkstraEra)) NativeScript DijkstraEra -> Maybe (StrictSeq (NativeScript DijkstraEra)) forall {k} (era :: k). Timelock era -> Maybe (StrictSeq (Timelock era)) getRequireAnyOfTimelock mkRequireMOf :: Int -> StrictSeq (NativeScript DijkstraEra) -> NativeScript DijkstraEra mkRequireMOf = Int -> StrictSeq (Timelock DijkstraEra) -> Timelock DijkstraEra Int -> StrictSeq (NativeScript DijkstraEra) -> NativeScript DijkstraEra forall era. Era era => Int -> StrictSeq (Timelock era) -> Timelock era mkRequireMOfTimelock getRequireMOf :: NativeScript DijkstraEra -> Maybe (Int, StrictSeq (NativeScript DijkstraEra)) getRequireMOf = Timelock DijkstraEra -> Maybe (Int, StrictSeq (Timelock DijkstraEra)) NativeScript DijkstraEra -> Maybe (Int, StrictSeq (NativeScript DijkstraEra)) forall {k} (era :: k). Timelock era -> Maybe (Int, StrictSeq (Timelock era)) getRequireMOfTimelock instance AllegraEraScript DijkstraEra where mkTimeStart :: SlotNo -> NativeScript DijkstraEra mkTimeStart = SlotNo -> Timelock DijkstraEra SlotNo -> NativeScript DijkstraEra forall era. Era era => SlotNo -> Timelock era mkTimeStartTimelock getTimeStart :: NativeScript DijkstraEra -> Maybe SlotNo getTimeStart = Timelock DijkstraEra -> Maybe SlotNo NativeScript DijkstraEra -> Maybe SlotNo forall {k} (era :: k). Timelock era -> Maybe SlotNo getTimeStartTimelock mkTimeExpire :: SlotNo -> NativeScript DijkstraEra mkTimeExpire = SlotNo -> Timelock DijkstraEra SlotNo -> NativeScript DijkstraEra forall era. Era era => SlotNo -> Timelock era mkTimeExpireTimelock getTimeExpire :: NativeScript DijkstraEra -> Maybe SlotNo getTimeExpire = Timelock DijkstraEra -> Maybe SlotNo NativeScript DijkstraEra -> Maybe SlotNo forall {k} (era :: k). Timelock era -> Maybe SlotNo getTimeExpireTimelock