2
2
{-# LANGUAGE DeriveGeneric #-}
3
3
{-# LANGUAGE DerivingStrategies #-}
4
4
{-# LANGUAGE FlexibleInstances #-}
5
- {-# LANGUAGE GeneralizedNewtypeDeriving #-}
6
5
{-# LANGUAGE LambdaCase #-}
7
6
{-# LANGUAGE TypeApplications #-}
8
7
{-# LANGUAGE TypeFamilies #-}
11
10
12
11
module Cardano.Ledger.Dijkstra.Scripts (PlutusScript (.. )) where
13
12
13
+ import Cardano.Ledger.Address (RewardAccount )
14
14
import Cardano.Ledger.Allegra.Scripts (
15
15
AllegraEraScript (.. ),
16
16
Timelock ,
@@ -35,22 +35,36 @@ import Cardano.Ledger.Alonzo.Scripts (
35
35
AsIx (.. ),
36
36
alonzoScriptPrefixTag ,
37
37
)
38
+ import Cardano.Ledger.Conway.Governance (ProposalProcedure , Voter )
38
39
import Cardano.Ledger.Conway.Scripts (
39
40
ConwayEraScript (.. ),
40
41
ConwayPlutusPurpose (.. ),
41
42
PlutusScript (.. ),
42
43
)
43
- import Cardano.Ledger.Core (EraScript (.. ), SafeToHash (.. ))
44
+ import Cardano.Ledger.Core (EraScript (.. ), EraTxCert ( .. ), SafeToHash (.. ), ScriptHash )
44
45
import Cardano.Ledger.Dijkstra.Era (DijkstraEra )
45
46
import Cardano.Ledger.Dijkstra.PParams ()
46
47
import Cardano.Ledger.Dijkstra.TxCert ()
48
+ import Cardano.Ledger.Mary.Value (PolicyID )
47
49
import Cardano.Ledger.Plutus (Language (.. ), Plutus , SLanguage (.. ), plutusSLanguage )
48
50
import Cardano.Ledger.Shelley.Scripts (ShelleyEraScript (.. ))
51
+ import Cardano.Ledger.TxIn (TxIn )
49
52
import Control.DeepSeq (NFData (.. ), rwhnf )
50
53
import Data.MemPack (MemPack (.. ), packTagM , packedTagByteCount , unknownTagM , unpackTagM )
54
+ import Data.Word (Word32 )
51
55
import GHC.Generics (Generic )
52
56
import NoThunks.Class (NoThunks )
53
57
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
+
54
68
instance EraScript DijkstraEra where
55
69
type Script DijkstraEra = AlonzoScript DijkstraEra
56
70
type NativeScript DijkstraEra = Timelock DijkstraEra
0 commit comments