{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE TypeFamilies #-}

{-# OPTIONS_GHC -Wno-orphans #-}

module Test.ThreadNet.TxGen.Mary () where

import           Ouroboros.Consensus.Protocol.TPraos (TPraos)
import           Ouroboros.Consensus.Shelley.Eras
import           Ouroboros.Consensus.Shelley.Ledger
import           Test.ThreadNet.TxGen (TxGen (..))

-- | Dummy generator until CAD-2119 is done, i.e., the transaction generator in
-- the ledger has been generalised over the eras.
instance TxGen (ShelleyBlock (TPraos c) MaryEra) where

  type TxGenExtra _ = ()

  testGenTxs :: CoreNodeId
-> NumCoreNodes
-> SlotNo
-> TopLevelConfig (ShelleyBlock (TPraos c) MaryEra)
-> TxGenExtra (ShelleyBlock (TPraos c) MaryEra)
-> LedgerState (ShelleyBlock (TPraos c) MaryEra) ValuesMK
-> Gen [GenTx (ShelleyBlock (TPraos c) MaryEra)]
testGenTxs CoreNodeId
_ NumCoreNodes
_ SlotNo
_ TopLevelConfig (ShelleyBlock (TPraos c) MaryEra)
_ TxGenExtra (ShelleyBlock (TPraos c) MaryEra)
_ LedgerState (ShelleyBlock (TPraos c) MaryEra) ValuesMK
_ = [GenTx (ShelleyBlock (TPraos c) MaryEra)]
-> Gen [GenTx (ShelleyBlock (TPraos c) MaryEra)]
forall a. a -> Gen a
forall (f :: * -> *) a. Applicative f => a -> f a
pure []