{-# LANGUAGE DataKinds #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableSuperClasses #-} {-# OPTIONS_GHC -Wno-orphans #-} module Test.Cardano.Ledger.Mary.Era ( module Test.Cardano.Ledger.Allegra.Era, MaryEraTest, ) where import Cardano.Ledger.Mary import Cardano.Ledger.Mary.Core import Cardano.Ledger.Plutus (emptyCostModels) import Paths_cardano_ledger_mary (getDataFileName) import Test.Cardano.Ledger.Allegra.Era import Test.Cardano.Ledger.Mary.Arbitrary () import Test.Cardano.Ledger.Mary.Binary.Annotator () import Test.Cardano.Ledger.Mary.Examples (exampleMaryTx) import Test.Cardano.Ledger.Mary.TreeDiff () import Test.Cardano.Ledger.Shelley.Examples ( exampleShelleyPParams, exampleShelleyPParamsUpdate, ) class ( AllegraEraTest era , MaryEraTxBody era ) => MaryEraTest era instance EraTest MaryEra where type EraRulesWithFailures MaryEra = '[ "BBODY" , "DELEG" , "DELEGS" , "DELPL" , "LEDGER" , "LEDGERS" , "POOL" , "PPUP" , "UTXO" , "UTXOW" ] zeroCostModels :: CostModels zeroCostModels = CostModels emptyCostModels mkTestAccountState :: HasCallStack => Maybe Ptr -> CompactForm Coin -> Maybe (KeyHash StakePool) -> Maybe DRep -> AccountState MaryEra mkTestAccountState = Maybe Ptr -> CompactForm Coin -> Maybe (KeyHash StakePool) -> Maybe DRep -> AccountState MaryEra forall era. (HasCallStack, ShelleyEraAccounts era) => Maybe Ptr -> CompactForm Coin -> Maybe (KeyHash StakePool) -> Maybe DRep -> AccountState era mkShelleyTestAccountState accountsFromAccountsMap :: Map (Credential Staking) (AccountState MaryEra) -> Accounts MaryEra accountsFromAccountsMap = Map (Credential Staking) (AccountState MaryEra) -> Accounts MaryEra forall era. (Accounts era ~ ShelleyAccounts era, AccountState era ~ ShelleyAccountState era, ShelleyEraAccounts era) => Map (Credential Staking) (AccountState era) -> Accounts era shelleyAccountsFromAccountsMap mkEraFullPath :: FilePath -> IO FilePath mkEraFullPath = FilePath -> IO FilePath getDataFileName exampleTx :: Tx TopTx MaryEra exampleTx = Tx TopTx MaryEra exampleMaryTx examplePParams :: PParams MaryEra examplePParams = PParams MaryEra forall era. (EraPParams era, AtMostEra "Mary" era, AtMostEra "Alonzo" era) => PParams era exampleShelleyPParams examplePParamsUpdate :: PParamsUpdate MaryEra examplePParamsUpdate = PParamsUpdate MaryEra forall era. (EraPParams era, AtMostEra "Mary" era, AtMostEra "Alonzo" era, AtMostEra "Babbage" era) => PParamsUpdate era exampleShelleyPParamsUpdate instance ShelleyEraTest MaryEra instance AllegraEraTest MaryEra instance MaryEraTest MaryEra