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

{-# OPTIONS_GHC -Wno-orphans #-}

module Test.ThreadNet.TxGen.Allegra () 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) (AllegraEra c)) where

  type TxGenExtra _ = ()

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