{-# LANGUAGE AllowAmbiguousTypes #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE QuantifiedConstraints #-}
{-# LANGUAGE UndecidableSuperClasses #-}
module Test.Cardano.Ledger.Era (
EraTest (..),
registerTestAccount,
) where
import Cardano.Ledger.BaseTypes
import Cardano.Ledger.Binary (DecCBOR)
import Cardano.Ledger.Coin
import Cardano.Ledger.Core
import Cardano.Ledger.Credential
import Cardano.Ledger.Genesis
import Cardano.Ledger.Plutus (CostModels)
import Cardano.Ledger.State
import Data.Aeson (FromJSON, ToJSON)
import Data.Functor.Identity
import qualified Data.Map.Strict as Map
import Data.Typeable
import Test.Cardano.Ledger.Common
import Test.Cardano.Ledger.Core.Arbitrary ()
import Test.Cardano.Ledger.TreeDiff ()
class
(
EraBlockBody era
,
EraCertState era
, EraGov era
, EraStake era
, EraUTxO era
, EraAccounts era
, EraGenesis era
,
Arbitrary (Tx TopTx era)
, Arbitrary (TxBody TopTx era)
, Arbitrary (TxWits era)
, Arbitrary (TxOut era)
, Arbitrary (TxAuxData era)
, Arbitrary (Script era)
, Arbitrary (PParamsHKD Identity era)
, Arbitrary (PParamsHKD StrictMaybe era)
, Arbitrary (TxCert era)
, Arbitrary (Value era)
, Arbitrary (CompactForm (Value era))
,
Arbitrary (CertState era)
, Arbitrary (GovState era)
, Arbitrary (InstantStake era)
, Arbitrary (Accounts era)
, Arbitrary (AccountState era)
,
ToExpr (Tx TopTx era)
, ToExpr (TxBody TopTx era)
, ToExpr (TxWits era)
, ToExpr (TxOut era)
, ToExpr (TxAuxData era)
, ToExpr (Script era)
, ToExpr (PParamsHKD Identity era)
, ToExpr (PParamsHKD StrictMaybe era)
, ToExpr (TxCert era)
, ToExpr (Value era)
, ToExpr (CompactForm (Value era))
,
ToExpr (CertState era)
, ToExpr (GovState era)
, ToExpr (InstantStake era)
, ToExpr (Accounts era)
, ToExpr (AccountState era)
,
DecCBOR (Script era)
, DecCBOR (NativeScript era)
, DecCBOR (TxAuxData era)
, DecCBOR (TxWits era)
, DecCBOR (TxBody TopTx era)
, DecCBOR (Tx TopTx era)
,
Eq (TranslationContext era)
, Show (TranslationContext era)
, Typeable (TranslationContext era)
, ToJSON (TranslationContext era)
, FromJSON (TranslationContext era)
, Arbitrary (TranslationContext era)
) =>
EraTest era
where
zeroCostModels :: CostModels
mkTestAccountState ::
HasCallStack =>
Maybe Ptr ->
CompactForm Coin ->
Maybe (KeyHash StakePool) ->
Maybe DRep ->
AccountState era
accountsFromAccountsMap :: Map.Map (Credential Staking) (AccountState era) -> Accounts era
registerTestAccount ::
(HasCallStack, EraTest era) =>
Credential Staking ->
Maybe Ptr ->
CompactForm Coin ->
Maybe (KeyHash StakePool) ->
Maybe DRep ->
Accounts era ->
Accounts era
registerTestAccount :: forall era.
(HasCallStack, EraTest era) =>
Credential Staking
-> Maybe Ptr
-> CompactForm Coin
-> Maybe (KeyHash StakePool)
-> Maybe DRep
-> Accounts era
-> Accounts era
registerTestAccount Credential Staking
cred Maybe Ptr
mPtr CompactForm Coin
deposit Maybe (KeyHash StakePool)
mStakePool Maybe DRep
mDRep =
Credential Staking
-> AccountState era -> Accounts era -> Accounts era
forall era.
EraAccounts era =>
Credential Staking
-> AccountState era -> Accounts era -> Accounts era
addAccountState Credential Staking
cred (Maybe Ptr
-> CompactForm Coin
-> Maybe (KeyHash StakePool)
-> Maybe DRep
-> AccountState era
forall era.
(EraTest era, HasCallStack) =>
Maybe Ptr
-> CompactForm Coin
-> Maybe (KeyHash StakePool)
-> Maybe DRep
-> AccountState era
mkTestAccountState Maybe Ptr
mPtr CompactForm Coin
deposit Maybe (KeyHash StakePool)
mStakePool Maybe DRep
mDRep)