{-# LANGUAGE DataKinds #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeApplications #-}
module ReplEnvironment where
import Cardano.Ledger.Api
import Cardano.Ledger.Binary
import Cardano.Ledger.CertState
import Cardano.Ledger.Coin
import Cardano.Ledger.Conway
import Cardano.Ledger.Conway.Core
import Cardano.Ledger.Conway.Governance
import Cardano.Ledger.Crypto
import Cardano.Ledger.PoolDistr
import Cardano.Ledger.Val
import Test.Cardano.Ledger.Api.DebugTools
import Control.Monad
import Control.Monad.IO.Class
import qualified Data.ByteString as BS
import Data.Default
import Data.Foldable
import Data.List
import Data.Map.Strict
import qualified Data.Map.Strict as Map
import Data.Maybe
import Data.Maybe.Strict
import qualified Data.Sequence.Strict as SSeq
import qualified Data.Set as Set
import Lens.Micro
import System.IO
import Test.Cardano.Ledger.Conformance
import Test.Cardano.Ledger.Conformance.ExecSpecRule.Conway
import Test.Cardano.Ledger.Constrained.Conway.Instances
import Test.Cardano.Ledger.Conway.ImpTest
import Test.Cardano.Ledger.Core.Rational
import Test.Cardano.Ledger.Imp.Common
import Test.ImpSpec
import Test.QuickCheck
import Constrained