{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE OverloadedLists #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeOperators #-} {-# LANGUAGE UndecidableInstances #-} {-# LANGUAGE UndecidableSuperClasses #-} {-# OPTIONS_GHC -Wno-orphans #-} module Test.Cardano.Ledger.Mary.ImpTest ( MaryEraImp, module Test.Cardano.Ledger.Allegra.ImpTest, ) where import Cardano.Ledger.Mary (MaryEra) import Cardano.Ledger.Mary.Core import Cardano.Ledger.Mary.Value import Test.Cardano.Ledger.Allegra.ImpTest import Test.Cardano.Ledger.Mary.Arbitrary () import Test.Cardano.Ledger.Mary.Era import Test.Cardano.Ledger.Mary.TreeDiff () instance ShelleyEraImp MaryEra where impSatisfyNativeScript :: forall (l :: TxLevel). Set (KeyHash Witness) -> TxBody l MaryEra -> NativeScript MaryEra -> ImpTestM MaryEra (Maybe (Map (KeyHash Witness) (KeyPair Witness))) impSatisfyNativeScript = Set (KeyHash Witness) -> TxBody l MaryEra -> NativeScript MaryEra -> ImpTestM MaryEra (Maybe (Map (KeyHash Witness) (KeyPair Witness))) forall era (l :: TxLevel). (ShelleyEraImp era, AllegraEraScript era, AllegraEraTxBody era, NativeScript era ~ Timelock era) => Set (KeyHash Witness) -> TxBody l era -> NativeScript era -> ImpTestM era (Maybe (Map (KeyHash Witness) (KeyPair Witness))) impAllegraSatisfyNativeScript fixupTx :: HasCallStack => Tx TopTx MaryEra -> ImpTestM MaryEra (Tx TopTx MaryEra) fixupTx = Tx TopTx MaryEra -> ImpTestM MaryEra (Tx TopTx MaryEra) forall era. (ShelleyEraImp era, HasCallStack) => Tx TopTx era -> ImpTestM era (Tx TopTx era) shelleyFixupTx expectTxSuccess :: HasCallStack => Tx TopTx MaryEra -> ImpTestM MaryEra () expectTxSuccess = Tx TopTx MaryEra -> ImpTestM MaryEra () forall era. (ShelleyEraImp era, HasCallStack) => Tx TopTx era -> ImpTestM era () impShelleyExpectTxSuccess modifyImpInitProtVer :: ShelleyEraImp MaryEra => Version -> SpecWith (ImpInit (LedgerSpec MaryEra)) -> SpecWith (ImpInit (LedgerSpec MaryEra)) modifyImpInitProtVer = Version -> SpecWith (ImpInit (LedgerSpec MaryEra)) -> SpecWith (ImpInit (LedgerSpec MaryEra)) forall era. ShelleyEraImp era => Version -> SpecWith (ImpInit (LedgerSpec era)) -> SpecWith (ImpInit (LedgerSpec era)) shelleyModifyImpInitProtVer genRegTxCert :: Credential Staking -> ImpTestM MaryEra (TxCert MaryEra) genRegTxCert = Credential Staking -> ImpTestM MaryEra (TxCert MaryEra) forall era. ShelleyEraTxCert era => Credential Staking -> ImpTestM era (TxCert era) shelleyGenRegTxCert genUnRegTxCert :: Credential Staking -> ImpTestM MaryEra (TxCert MaryEra) genUnRegTxCert = Credential Staking -> ImpTestM MaryEra (TxCert MaryEra) forall era. ShelleyEraTxCert era => Credential Staking -> ImpTestM era (TxCert era) shelleyGenUnRegTxCert delegStakeTxCert :: Credential Staking -> KeyHash StakePool -> TxCert MaryEra delegStakeTxCert = Credential Staking -> KeyHash StakePool -> TxCert MaryEra forall era. ShelleyEraTxCert era => Credential Staking -> KeyHash StakePool -> TxCert era shelleyDelegStakeTxCert class ( AllegraEraImp era , MaryEraTest era , Value era ~ MaryValue ) => MaryEraImp era instance AllegraEraImp MaryEra instance MaryEraImp MaryEra