module PlutusLedgerApi.Common (
SerialisedScript.SerialisedScript,
SerialisedScript.ScriptForEvaluation,
SerialisedScript.serialisedScript,
SerialisedScript.deserialisedScript,
SerialisedScript.serialiseCompiledCode,
SerialisedScript.serialiseUPLC,
SerialisedScript.deserialiseScript,
SerialisedScript.uncheckedDeserialiseUPLC,
SerialisedScript.ScriptDecodeError (..),
SerialisedScript.ScriptNamedDeBruijn (..),
Eval.evaluateScriptCounting,
Eval.evaluateScriptRestricting,
Eval.evaluateTerm,
Eval.VerboseMode (..),
Eval.LogOutput,
Eval.EvaluationError (..),
Versions.MajorProtocolVersion (..),
Versions.PlutusLedgerLanguage (..),
Versions.Version (..),
Versions.builtinsIntroducedIn,
Versions.builtinsAvailableIn,
Versions.ledgerLanguageIntroducedIn,
Versions.ledgerLanguagesAvailableIn,
PLC.ExBudget (..),
PLC.ExCPU (..),
PLC.ExMemory (..),
SatInt.SatInt (unSatInt),
SatInt.fromSatInt,
PLC.CostModelParams,
ParamName.toCostModelParams,
Eval.assertWellFormedCostModelParams,
ParamName.IsParamName (showParamName, readParamName),
ParamName.GenericParamName,
ParamName.CostModelApplyError (..),
ParamName.CostModelApplyWarn (..),
Eval.EvaluationContext (..),
Eval.mkDynEvaluationContext,
Eval.toMachineParameters,
Eval.mkTermToEvaluate,
TxPrelude.BuiltinByteString,
TxPrelude.toBuiltin,
TxPrelude.fromBuiltin,
TxPrelude.toOpaque,
TxPrelude.fromOpaque,
PLC.Data (..),
Builtins.BuiltinData (..),
IsData.ToData (..),
IsData.FromData (..),
IsData.UnsafeFromData (..),
IsData.toData,
IsData.fromData,
IsData.unsafeFromData,
Builtins.dataToBuiltinData,
Builtins.builtinDataToData,
MonadError,
) where
import PlutusLedgerApi.Common.Eval qualified as Eval
import PlutusLedgerApi.Common.ParamName qualified as ParamName
import PlutusLedgerApi.Common.SerialisedScript qualified as SerialisedScript
import PlutusLedgerApi.Common.Versions qualified as Versions
import PlutusTx.Builtins.Internal qualified as Builtins
import PlutusTx.IsData.Class qualified as IsData
import PlutusTx.Prelude qualified as TxPrelude
import PlutusCore.Data qualified as PLC
import PlutusCore.Evaluation.Machine.CostModelInterface qualified as PLC
import PlutusCore.Evaluation.Machine.ExBudget qualified as PLC
import PlutusCore.Evaluation.Machine.ExMemory qualified as PLC
import Control.Monad.Except (MonadError)
import Data.SatInt qualified as SatInt