module PlutusLedgerApi.V1 (
Scripts.ScriptHash (..),
Scripts.Redeemer (..),
Scripts.RedeemerHash (..),
Scripts.Datum (..),
Scripts.DatumHash (..),
Scripts.Context (..),
Scripts.ScriptError (..),
SerialisedScript.SerialisedScript,
SerialisedScript.ScriptForEvaluation,
SerialisedScript.ScriptDecodeError (..),
SerialisedScript.ScriptNamedDeBruijn (..),
SerialisedScript.serialisedScript,
SerialisedScript.deserialisedScript,
SerialisedScript.serialiseCompiledCode,
SerialisedScript.serialiseUPLC,
deserialiseScript,
SerialisedScript.uncheckedDeserialiseUPLC,
evaluateScriptRestricting,
evaluateScriptCounting,
Common.MajorProtocolVersion (..),
Common.ExBudget (..),
Common.ExCPU (..),
Common.ExMemory (..),
Common.SatInt (unSatInt),
Common.fromSatInt,
ParamName.ParamName (..),
ParamName.tagWithParamNames,
Eval.EvaluationError (..),
Eval.EvaluationContext,
Eval.AsScriptDecodeError (..),
Eval.LogOutput,
Eval.VerboseMode (..),
Eval.evaluateTerm,
Eval.mkDynEvaluationContext,
Eval.toMachineParameters,
Eval.mkTermToEvaluate,
Eval.assertWellFormedCostModelParams,
EvaluationContext.mkEvaluationContext,
EvaluationContext.CostModelParams,
EvaluationContext.CostModelApplyError (..),
Contexts.TxInfo(..),
Contexts.ScriptContext(..),
Contexts.ScriptPurpose(..),
Contexts.TxId (..),
Contexts.TxOut(..),
Contexts.TxOutRef(..),
Contexts.TxInInfo(..),
Contexts.findOwnInput,
Contexts.findDatum,
Contexts.findDatumHash,
Contexts.findTxInByTxOutRef,
Contexts.findContinuingOutputs,
Contexts.getContinuingOutputs,
Contexts.pubKeyOutputsAt,
Contexts.valuePaidTo,
Contexts.spendsOutput,
Contexts.txSignedBy,
Contexts.valueSpent,
Contexts.valueProduced,
Contexts.ownCurrencySymbol,
Common.BuiltinByteString,
Common.toBuiltin,
Common.fromBuiltin,
Common.toOpaque,
Common.fromOpaque,
Bytes.LedgerBytes (..),
Bytes.LedgerBytesError (..),
Bytes.fromBytes,
Bytes.fromHex,
Bytes.bytes,
Bytes.encodeByteString,
DCert.DCert (..),
Credential.StakingCredential (..),
Credential.Credential (..),
Value.Value (..),
Value.Lovelace (..),
Value.currencySymbolValueOf,
Value.flattenValue,
Value.isZero,
Value.lovelaceValue,
Value.lovelaceValueOf,
Value.scale,
Value.singleton,
Value.split,
Value.unionWith,
Value.valueOf,
Value.CurrencySymbol(..),
Value.currencySymbol,
Value.adaSymbol,
Value.symbols,
Value.TokenName (..),
Value.tokenName,
Value.adaToken,
Value.AssetClass(..),
Value.assetClass,
Value.assetClassValue,
Value.assetClassValueOf,
Address.Address (..),
Address.pubKeyHashAddress,
Address.toPubKeyHash,
Address.toScriptHash,
Address.scriptHashAddress,
Address.stakingCredential,
Crypto.PubKeyHash (..),
Time.POSIXTime (..),
Time.POSIXTimeRange,
Time.DiffMilliSeconds (..),
Time.fromMilliSeconds,
Interval.Interval (..),
Interval.Extended (..),
Interval.Closure,
Interval.UpperBound (..),
Interval.LowerBound (..),
Interval.never,
Interval.always,
Interval.from,
Interval.to,
Interval.lowerBound,
Interval.upperBound,
Interval.strictLowerBound,
Interval.strictUpperBound,
Interval.member,
Interval.interval,
Interval.hull,
Interval.intersection,
Interval.overlaps,
Interval.contains,
Interval.isEmpty,
Interval.before,
Interval.after,
Common.Data (..),
Common.BuiltinData (..),
Common.ToData (..),
Common.FromData (..),
Common.UnsafeFromData (..),
Common.toData,
Common.fromData,
Common.unsafeFromData,
Common.dataToBuiltinData,
Common.builtinDataToData,
Common.MonadError,
) where
import PlutusLedgerApi.Common qualified as Common
import PlutusLedgerApi.Common.Eval qualified as Eval
import PlutusLedgerApi.Common.SerialisedScript qualified as SerialisedScript
import PlutusLedgerApi.V1.Address qualified as Address
import PlutusLedgerApi.V1.Bytes qualified as Bytes
import PlutusLedgerApi.V1.Contexts qualified as Contexts
import PlutusLedgerApi.V1.Credential qualified as Credential
import PlutusLedgerApi.V1.Crypto qualified as Crypto
import PlutusLedgerApi.V1.DCert qualified as DCert
import PlutusLedgerApi.V1.EvaluationContext qualified as EvaluationContext
import PlutusLedgerApi.V1.Interval qualified as Interval
import PlutusLedgerApi.V1.ParamName qualified as ParamName
import PlutusLedgerApi.V1.Scripts as Scripts
import PlutusLedgerApi.V1.Time qualified as Time
import PlutusLedgerApi.V1.Value qualified as Value
thisLedgerLanguage :: Common.PlutusLedgerLanguage
thisLedgerLanguage :: PlutusLedgerLanguage
thisLedgerLanguage = PlutusLedgerLanguage
Common.PlutusV1
deserialiseScript ::
forall m.
(Common.MonadError Common.ScriptDecodeError m) =>
Common.MajorProtocolVersion ->
Common.SerialisedScript ->
m Common.ScriptForEvaluation
deserialiseScript :: forall (m :: * -> *).
MonadError ScriptDecodeError m =>
MajorProtocolVersion -> SerialisedScript -> m ScriptForEvaluation
deserialiseScript = PlutusLedgerLanguage
-> MajorProtocolVersion
-> SerialisedScript
-> m ScriptForEvaluation
forall (m :: * -> *).
MonadError ScriptDecodeError m =>
PlutusLedgerLanguage
-> MajorProtocolVersion
-> SerialisedScript
-> m ScriptForEvaluation
SerialisedScript.deserialiseScript PlutusLedgerLanguage
thisLedgerLanguage
evaluateScriptCounting ::
Common.MajorProtocolVersion ->
Common.VerboseMode ->
EvaluationContext.EvaluationContext ->
Common.ScriptForEvaluation ->
[Common.Data] ->
(Common.LogOutput, Either Common.EvaluationError Common.ExBudget)
evaluateScriptCounting :: MajorProtocolVersion
-> VerboseMode
-> EvaluationContext
-> ScriptForEvaluation
-> [Data]
-> (LogOutput, Either EvaluationError ExBudget)
evaluateScriptCounting = PlutusLedgerLanguage
-> MajorProtocolVersion
-> VerboseMode
-> EvaluationContext
-> ScriptForEvaluation
-> [Data]
-> (LogOutput, Either EvaluationError ExBudget)
Common.evaluateScriptCounting PlutusLedgerLanguage
thisLedgerLanguage
evaluateScriptRestricting ::
Common.MajorProtocolVersion ->
Common.VerboseMode ->
EvaluationContext.EvaluationContext ->
Common.ExBudget ->
Common.ScriptForEvaluation ->
[Common.Data] ->
(Common.LogOutput, Either Common.EvaluationError Common.ExBudget)
evaluateScriptRestricting :: MajorProtocolVersion
-> VerboseMode
-> EvaluationContext
-> ExBudget
-> ScriptForEvaluation
-> [Data]
-> (LogOutput, Either EvaluationError ExBudget)
evaluateScriptRestricting = PlutusLedgerLanguage
-> MajorProtocolVersion
-> VerboseMode
-> EvaluationContext
-> ExBudget
-> ScriptForEvaluation
-> [Data]
-> (LogOutput, Either EvaluationError ExBudget)
Common.evaluateScriptRestricting PlutusLedgerLanguage
thisLedgerLanguage