55{-# LANGUAGE StandaloneDeriving #-}
66{-# LANGUAGE TupleSections #-}
77
8- module Cardano.Api.Experimental.Tx.Internal.Compatible (mkTxCertificates ) where
8+ module Cardano.Api.Experimental.Tx.Internal.Compatible (mkTxCertificates ) where
99
1010import Cardano.Api.Address qualified as Api
1111import Cardano.Api.Certificate.Internal qualified as Api
1212import Cardano.Api.Era.Internal.Eon.Convert
13- import Cardano.Api.Plutus .Internal.Script ( sbeToSimpleScriptLanguageInEra , fromAllegraTimelock )
13+ import Cardano.Api.Era .Internal.Eon.ShelleyBasedEra
1414import Cardano.Api.Experimental.Era
1515import Cardano.Api.Experimental.Plutus.Internal.Script qualified as Exp
1616import Cardano.Api.Experimental.Plutus.Internal.ScriptWitness qualified as Exp
17- import Cardano.Api.Ledger.Internal.Reexport qualified as L
18-
19-
20- import Cardano.Ledger.Alonzo.Scripts qualified as L
21-
22- import Cardano.Ledger.Plutus.Language qualified as L
2317import Cardano.Api.Experimental.Simple.Script qualified as Exp
24- import Cardano.Ledger.Plutus.Language qualified as Plutus
25-
26- import Cardano.Binary
27- import Cardano.Ledger.Allegra.Scripts qualified as L
28-
29-
3018import Cardano.Api.Experimental.Tx.Internal.AnyWitness
19+ import Cardano.Api.Experimental.Tx.Internal.Certificate qualified as Exp
20+ import Cardano.Api.Ledger.Internal.Reexport qualified as L
21+ import Cardano.Api.Plutus.Internal.Script (fromAllegraTimelock , sbeToSimpleScriptLanguageInEra )
3122import Cardano.Api.Plutus.Internal.Script qualified as Api
32-
3323import Cardano.Api.Tx.Internal.Body (TxCertificates (.. ))
3424import Cardano.Api.Tx.Internal.Body qualified as Api
35- import Cardano.Api.Experimental.Tx.Internal.Certificate
3625
37- import GHC.Exts (IsList (.. ))
26+ import Cardano.Ledger.Allegra.Scripts qualified as L
27+ import Cardano.Ledger.Alonzo.Scripts qualified as L
28+ import Cardano.Ledger.Plutus.Language qualified as L
29+ import Cardano.Ledger.Plutus.Language qualified as Plutus
3830
31+ import GHC.Exts (IsList (.. ))
3932
4033mkTxCertificates
4134 :: forall era
4235 . IsEra era
43- => [(Certificate (LedgerEra era ), AnyWitness (LedgerEra era ))]
36+ => [(Exp. Certificate (ShelleyLedgerEra era ), AnyWitness (LedgerEra era ))]
4437 -> Api. TxCertificates Api. BuildTx era
4538mkTxCertificates [] = TxCertificatesNone
4639mkTxCertificates certs =
47- TxCertificates (convert useEra) $ fromList $ map (getStakeCred useEra) certs
40+ TxCertificates (convert useEra) $ fromList $ map (getStakeCred useEra) certs
41+ where
4842 -- TxCertificate now uses experimental Certificate type therefore getStakeCred
4943 -- needs to be adjusted!
50- where
44+
5145 getStakeCred
5246 :: Era era
53- -> (Certificate (LedgerEra era ), AnyWitness (LedgerEra era ))
54- -> ( Api . Certificate era
47+ -> (Exp. Certificate (ShelleyLedgerEra era ), AnyWitness (LedgerEra era ))
48+ -> ( Exp . Certificate ( ShelleyLedgerEra era )
5549 , Api. BuildTxWith
5650 Api. BuildTx
5751 (Maybe (Api. StakeCredential , Api. Witness Api. WitCtxStake era ))
5852 )
59- getStakeCred era (Certificate cert, witness) =
53+ getStakeCred era (cert, witness) =
6054 case era of
6155 ConwayEra -> do
62- let oldApiCert = Api. ConwayCertificate (convert era) cert
56+ let Exp. Certificate c = cert
57+ oldApiCert = Api. ConwayCertificate (convert era) c
6358 mStakeCred = Api. selectStakeCredentialWitness oldApiCert
6459 wit =
6560 case witness of
@@ -69,9 +64,7 @@ mkTxCertificates certs =
6964 AnyPlutusScriptWitness psw ->
7065 Api. ScriptWitness Api. ScriptWitnessForStakeAddr $
7166 newToOldPlutusCertificateScriptWitness ConwayEra psw
72- (oldApiCert, pure $ (,wit) <$> mStakeCred)
73-
74-
67+ (cert, pure $ (,wit) <$> mStakeCred)
7568
7669newToOldSimpleScriptWitness
7770 :: L. AllegraEraScript (LedgerEra era )
@@ -123,4 +116,4 @@ newToOldPlutusScriptOrReferenceInput
123116newToOldPlutusScriptOrReferenceInput ConwayEra (Exp. PReferenceScript txin) = Api. PReferenceScript txin
124117newToOldPlutusScriptOrReferenceInput ConwayEra (Exp. PScript (Exp. PlutusScriptInEra plutusRunnable)) =
125118 let oldScript = L. unPlutusBinary . L. plutusBinary $ L. plutusFromRunnable plutusRunnable
126- in Api. PScript $ Api. PlutusScriptSerialised oldScript
119+ in Api. PScript $ Api. PlutusScriptSerialised oldScript
0 commit comments