22{-# LANGUAGE DeriveGeneric #-}
33{-# LANGUAGE DerivingStrategies #-}
44{-# LANGUAGE FlexibleInstances #-}
5- {-# LANGUAGE GeneralizedNewtypeDeriving #-}
65{-# LANGUAGE LambdaCase #-}
76{-# LANGUAGE TypeApplications #-}
87{-# LANGUAGE TypeFamilies #-}
1110
1211module Cardano.Ledger.Dijkstra.Scripts (PlutusScript (.. )) where
1312
13+ import Cardano.Ledger.Address (RewardAccount )
1414import Cardano.Ledger.Allegra.Scripts (
1515 AllegraEraScript (.. ),
1616 Timelock ,
@@ -35,22 +35,36 @@ import Cardano.Ledger.Alonzo.Scripts (
3535 AsIx (.. ),
3636 alonzoScriptPrefixTag ,
3737 )
38+ import Cardano.Ledger.Conway.Governance (ProposalProcedure , Voter )
3839import Cardano.Ledger.Conway.Scripts (
3940 ConwayEraScript (.. ),
4041 ConwayPlutusPurpose (.. ),
4142 PlutusScript (.. ),
4243 )
43- import Cardano.Ledger.Core (EraScript (.. ), SafeToHash (.. ))
44+ import Cardano.Ledger.Core (EraScript (.. ), EraTxCert ( .. ), SafeToHash (.. ), ScriptHash )
4445import Cardano.Ledger.Dijkstra.Era (DijkstraEra )
4546import Cardano.Ledger.Dijkstra.PParams ()
4647import Cardano.Ledger.Dijkstra.TxCert ()
48+ import Cardano.Ledger.Mary.Value (PolicyID )
4749import Cardano.Ledger.Plutus (Language (.. ), Plutus , SLanguage (.. ), plutusSLanguage )
4850import Cardano.Ledger.Shelley.Scripts (ShelleyEraScript (.. ))
51+ import Cardano.Ledger.TxIn (TxIn )
4952import Control.DeepSeq (NFData (.. ), rwhnf )
5053import Data.MemPack (MemPack (.. ), packTagM , packedTagByteCount , unknownTagM , unpackTagM )
54+ import Data.Word (Word32 )
5155import GHC.Generics (Generic )
5256import NoThunks.Class (NoThunks )
5357
58+ data DijkstraPlutusPurpose f era
59+ = DijkstraSpending ! (f Word32 TxIn )
60+ | DijkstraMinting ! (f Word32 PolicyID )
61+ | DijkstraCertifying ! (f Word32 (TxCert era ))
62+ | DijkstraRewarding ! (f Word32 RewardAccount )
63+ | DijkstraVoting ! (f Word32 Voter )
64+ | DijkstraProposing ! (f Word32 (ProposalProcedure era ))
65+ | DijkstraGuarding ! (f Word32 ScriptHash )
66+ deriving (Generic )
67+
5468instance EraScript DijkstraEra where
5569 type Script DijkstraEra = AlonzoScript DijkstraEra
5670 type NativeScript DijkstraEra = Timelock DijkstraEra
0 commit comments