plutus-ledger-api-1.0.0.0.0.0.0.0.1: Interface to the Plutus ledger for the Cardano ledger.
Safe HaskellSafe-Inferred
LanguageHaskell2010

PlutusLedgerApi.V2

Description

The interface to Plutus V2 for the ledger.

Synopsis

Scripts

type SerialisedScript = ShortByteString Source #

Scripts to the ledger are serialised bytestrings.

serialiseUPLC :: Program DeBruijn DefaultUni DefaultFun () -> SerialisedScript Source #

Note [Using Flat for serialising/deserialising Script] `plutus-ledger` uses CBOR for data serialisation and `plutus-core` uses Flat. The choice to use Flat was made to have a more efficient (most wins are in uncompressed size) data serialisation format and use less space on-chain.

To make `plutus-ledger` work with scripts serialised with Flat, and keep the CBOR format otherwise, we have defined the serialiseUPLC and deserialiseUPLC functions.

Because Flat is not self-describing and it gets used in the encoding of Programs, data structures that include scripts (for example, transactions) no-longer benefit for CBOR's ability to self-describe it's format.

Validating scripts

assertScriptWellFormed :: MonadError ScriptDecodeError m => ProtocolVersion -> SerialisedScript -> m () Source #

Check if a Script is "valid" according to a protocol version. At the moment this means "deserialises correctly", which in particular implies that it is (almost certainly) an encoded script and the script does not mention any builtins unavailable in the given protocol version.

Running scripts

evaluateScriptRestricting Source #

Arguments

:: ProtocolVersion 
-> VerboseMode

Whether to produce log output

-> EvaluationContext

The cost model that should already be synced to the most recent cost-model-params coming from the current protocol

-> ExBudget

The resource budget which must not be exceeded during evaluation

-> SerialisedScript

The script to evaluate

-> [Data]

The arguments to the script

-> (LogOutput, Either EvaluationError ExBudget) 

Evaluates a script, with a cost model and a budget that restricts how many resources it can use according to the cost model. Also returns the budget that was actually used.

Can be used to calculate budgets for scripts, but even in this case you must give a limit to guard against scripts that run for a long time or loop.

evaluateScriptCounting Source #

Arguments

:: ProtocolVersion 
-> VerboseMode

Whether to produce log output

-> EvaluationContext

The cost model that should already be synced to the most recent cost-model-params coming from the current protocol

-> SerialisedScript

The script to evaluate

-> [Data]

The arguments to the script

-> (LogOutput, Either EvaluationError ExBudget) 

Evaluates a script, returning the minimum budget that the script would need to evaluate successfully. This will take as long as the script takes, if you need to limit the execution time of the script also, you can use evaluateScriptRestricting, which also returns the used budget.

Protocol version

data ProtocolVersion Source #

This represents the Cardano protocol version, with its major and minor components. This relies on careful understanding between us and the ledger as to what this means.

Constructors

ProtocolVersion 

Fields

Instances

Instances details
Generic ProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.Common.ProtocolVersions

Associated Types

type Rep ProtocolVersion :: Type -> Type Source #

Show ProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.Common.ProtocolVersions

Eq ProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.Common.ProtocolVersions

Ord ProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.Common.ProtocolVersions

Pretty ProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.Common.ProtocolVersions

Serialise ProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.Common.ProtocolVersions

type Rep ProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.Common.ProtocolVersions

type Rep ProtocolVersion = D1 ('MetaData "ProtocolVersion" "PlutusLedgerApi.Common.ProtocolVersions" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'False) (C1 ('MetaCons "ProtocolVersion" 'PrefixI 'True) (S1 ('MetaSel ('Just "pvMajor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "pvMinor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))

Verbose mode and log output

data VerboseMode Source #

A simple toggle indicating whether or not we should produce logs.

Constructors

Verbose 
Quiet 

Instances

Instances details
Eq VerboseMode Source # 
Instance details

Defined in PlutusLedgerApi.Common.Eval

type LogOutput = [Text] Source #

The type of log output: just a list of Text.

Costing-related types

data ExBudget Source #

Constructors

ExBudget 

Instances

Instances details
FromJSON ExBudget 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

ToJSON ExBudget 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Monoid ExBudget 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Semigroup ExBudget 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Generic ExBudget 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Associated Types

type Rep ExBudget :: Type -> Type Source #

Show ExBudget 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

NFData ExBudget 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

rnf :: ExBudget -> () Source #

Eq ExBudget 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

NoThunks ExBudget 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Pretty ExBudget 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

pretty :: ExBudget -> Doc ann Source #

prettyList :: [ExBudget] -> Doc ann Source #

Serialise ExBudget 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

ab ~ ExBudget => OnMemoryUsages ExBudget ab 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Methods

onMemoryUsages :: ExBudget -> ab

PrettyBy config ExBudget 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

prettyBy :: config -> ExBudget -> Doc ann Source #

prettyListBy :: config -> [ExBudget] -> Doc ann Source #

Lift ExBudget 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

lift :: Quote m => ExBudget -> m Exp Source #

liftTyped :: forall (m :: Type -> Type). Quote m => ExBudget -> Code m ExBudget Source #

type Rep ExBudget 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

type Rep ExBudget = D1 ('MetaData "ExBudget" "PlutusCore.Evaluation.Machine.ExBudget" "plutus-core-1.0.0.0.0.0.0.0.1-4IL9F87IOMGE1LK9JtuHT8" 'False) (C1 ('MetaCons "ExBudget" 'PrefixI 'True) (S1 ('MetaSel ('Just "exBudgetCPU") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedUnpack) (Rec0 ExCPU) :*: S1 ('MetaSel ('Just "exBudgetMemory") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedUnpack) (Rec0 ExMemory)))

newtype ExCPU Source #

Counts CPU units in picoseconds: maximum value for SatInt is 2^63 ps, or appproximately 106 days.

Constructors

ExCPU CostingInteger 

Instances

Instances details
FromJSON ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

ToJSON ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Monoid ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Semigroup ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Generic ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Associated Types

type Rep ExCPU :: Type -> Type Source #

Methods

from :: ExCPU -> Rep ExCPU x Source #

to :: Rep ExCPU x -> ExCPU Source #

Num ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Show ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

NFData ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Methods

rnf :: ExCPU -> () Source #

Eq ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Methods

(==) :: ExCPU -> ExCPU -> Bool Source #

(/=) :: ExCPU -> ExCPU -> Bool Source #

Ord ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

NoThunks ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Pretty ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Methods

pretty :: ExCPU -> Doc ann Source #

prettyList :: [ExCPU] -> Doc ann Source #

Serialise ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

PrettyBy config ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Methods

prettyBy :: config -> ExCPU -> Doc ann Source #

prettyListBy :: config -> [ExCPU] -> Doc ann Source #

Lift ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Methods

lift :: Quote m => ExCPU -> m Exp Source #

liftTyped :: forall (m :: Type -> Type). Quote m => ExCPU -> Code m ExCPU Source #

type Rep ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

type Rep ExCPU = D1 ('MetaData "ExCPU" "PlutusCore.Evaluation.Machine.ExMemory" "plutus-core-1.0.0.0.0.0.0.0.1-4IL9F87IOMGE1LK9JtuHT8" 'True) (C1 ('MetaCons "ExCPU" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CostingInteger)))

newtype ExMemory Source #

Counts size in machine words.

Constructors

ExMemory CostingInteger 

Instances

Instances details
FromJSON ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

ToJSON ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Monoid ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Semigroup ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Generic ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Associated Types

type Rep ExMemory :: Type -> Type Source #

Num ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Show ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

NFData ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Methods

rnf :: ExMemory -> () Source #

Eq ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Ord ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

NoThunks ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

ExMemoryUsage ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Pretty ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Methods

pretty :: ExMemory -> Doc ann Source #

prettyList :: [ExMemory] -> Doc ann Source #

Serialise ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

PrettyBy config ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Methods

prettyBy :: config -> ExMemory -> Doc ann Source #

prettyListBy :: config -> [ExMemory] -> Doc ann Source #

Lift ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Methods

lift :: Quote m => ExMemory -> m Exp Source #

liftTyped :: forall (m :: Type -> Type). Quote m => ExMemory -> Code m ExMemory Source #

(ab ~ (a -> b), ExMemoryUsage a, OnMemoryUsages c b) => OnMemoryUsages (ExMemory -> c) ab 
Instance details

Defined in PlutusCore.Evaluation.Machine.CostingFun.Core

Methods

onMemoryUsages :: (ExMemory -> c) -> ab

type Rep ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

type Rep ExMemory = D1 ('MetaData "ExMemory" "PlutusCore.Evaluation.Machine.ExMemory" "plutus-core-1.0.0.0.0.0.0.0.1-4IL9F87IOMGE1LK9JtuHT8" 'True) (C1 ('MetaCons "ExMemory" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CostingInteger)))

data SatInt Source #

Instances

Instances details
FromJSON SatInt 
Instance details

Defined in Data.SatInt

ToJSON SatInt 
Instance details

Defined in Data.SatInt

Bits SatInt 
Instance details

Defined in Data.SatInt

FiniteBits SatInt 
Instance details

Defined in Data.SatInt

Bounded SatInt 
Instance details

Defined in Data.SatInt

Enum SatInt 
Instance details

Defined in Data.SatInt

Generic SatInt 
Instance details

Defined in Data.SatInt

Associated Types

type Rep SatInt :: Type -> Type Source #

Num SatInt

In the Num instance, we plug in our own addition, multiplication and subtraction function that perform overflow-checking.

Instance details

Defined in Data.SatInt

Read SatInt 
Instance details

Defined in Data.SatInt

Integral SatInt 
Instance details

Defined in Data.SatInt

Real SatInt 
Instance details

Defined in Data.SatInt

Show SatInt 
Instance details

Defined in Data.SatInt

FromField SatInt 
Instance details

Defined in Data.SatInt

NFData SatInt 
Instance details

Defined in Data.SatInt

Methods

rnf :: SatInt -> () Source #

Eq SatInt 
Instance details

Defined in Data.SatInt

Ord SatInt 
Instance details

Defined in Data.SatInt

NoThunks SatInt 
Instance details

Defined in Data.SatInt

ExMemoryUsage SatInt 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Prim SatInt 
Instance details

Defined in Data.SatInt

Serialise SatInt 
Instance details

Defined in Data.SatInt

Lift SatInt 
Instance details

Defined in Data.SatInt

Methods

lift :: Quote m => SatInt -> m Exp Source #

liftTyped :: forall (m :: Type -> Type). Quote m => SatInt -> Code m SatInt Source #

type Rep SatInt 
Instance details

Defined in Data.SatInt

type Rep SatInt = D1 ('MetaData "SatInt" "Data.SatInt" "plutus-core-1.0.0.0.0.0.0.0.1-4IL9F87IOMGE1LK9JtuHT8" 'True) (C1 ('MetaCons "SI" 'PrefixI 'True) (S1 ('MetaSel ('Just "unSatInt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))

Cost model

data EvaluationContext Source #

An opaque type that contains all the static parameters that the evaluator needs to evaluate a script. This is so that they can be computed once and cached, rather than recomputed on every evaluation.

There are two sets of parameters: one is with immediate unlifting and the other one is with deferred unlifting. We have to keep both of them, because depending on the language version either one has to be used or the other. We also compile them separately due to all the inlining and optimization that need to happen for things to be efficient.

Instances

Instances details
Generic EvaluationContext Source # 
Instance details

Defined in PlutusLedgerApi.Common.Eval

Associated Types

type Rep EvaluationContext :: Type -> Type Source #

NFData EvaluationContext Source # 
Instance details

Defined in PlutusLedgerApi.Common.Eval

Methods

rnf :: EvaluationContext -> () Source #

NoThunks EvaluationContext Source # 
Instance details

Defined in PlutusLedgerApi.Common.Eval

type Rep EvaluationContext Source # 
Instance details

Defined in PlutusLedgerApi.Common.Eval

type Rep EvaluationContext = D1 ('MetaData "EvaluationContext" "PlutusLedgerApi.Common.Eval" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'False) (C1 ('MetaCons "EvaluationContext" 'PrefixI 'True) (S1 ('MetaSel ('Just "machineParametersImmediate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 DefaultMachineParameters) :*: S1 ('MetaSel ('Just "machineParametersDeferred") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 DefaultMachineParameters)))

mkEvaluationContext :: (MonadError CostModelApplyError m, MonadWriter [CostModelApplyWarn] m) => [Integer] -> m EvaluationContext Source #

Build the EvaluationContext.

The input is a list of integer values passed from the ledger and are expected to appear in correct order.

data ParamName Source #

The enumeration of all possible cost model parameter names for this language version. IMPORTANT: The order of appearance of the data constructors here matters. DO NOT REORDER. See Note [Quotation marks in cost model parameter constructors] See Note [Cost model parameters from the ledger's point of view]

Constructors

AddInteger'cpu'arguments'intercept 
AddInteger'cpu'arguments'slope 
AddInteger'memory'arguments'intercept 
AddInteger'memory'arguments'slope 
AppendByteString'cpu'arguments'intercept 
AppendByteString'cpu'arguments'slope 
AppendByteString'memory'arguments'intercept 
AppendByteString'memory'arguments'slope 
AppendString'cpu'arguments'intercept 
AppendString'cpu'arguments'slope 
AppendString'memory'arguments'intercept 
AppendString'memory'arguments'slope 
BData'cpu'arguments 
BData'memory'arguments 
Blake2b_256'cpu'arguments'intercept 
Blake2b_256'cpu'arguments'slope 
Blake2b_256'memory'arguments 
CekApplyCost'exBudgetCPU 
CekApplyCost'exBudgetMemory 
CekBuiltinCost'exBudgetCPU 
CekBuiltinCost'exBudgetMemory 
CekConstCost'exBudgetCPU 
CekConstCost'exBudgetMemory 
CekDelayCost'exBudgetCPU 
CekDelayCost'exBudgetMemory 
CekForceCost'exBudgetCPU 
CekForceCost'exBudgetMemory 
CekLamCost'exBudgetCPU 
CekLamCost'exBudgetMemory 
CekStartupCost'exBudgetCPU 
CekStartupCost'exBudgetMemory 
CekVarCost'exBudgetCPU 
CekVarCost'exBudgetMemory 
ChooseData'cpu'arguments 
ChooseData'memory'arguments 
ChooseList'cpu'arguments 
ChooseList'memory'arguments 
ChooseUnit'cpu'arguments 
ChooseUnit'memory'arguments 
ConsByteString'cpu'arguments'intercept 
ConsByteString'cpu'arguments'slope 
ConsByteString'memory'arguments'intercept 
ConsByteString'memory'arguments'slope 
ConstrData'cpu'arguments 
ConstrData'memory'arguments 
DecodeUtf8'cpu'arguments'intercept 
DecodeUtf8'cpu'arguments'slope 
DecodeUtf8'memory'arguments'intercept 
DecodeUtf8'memory'arguments'slope 
DivideInteger'cpu'arguments'constant 
DivideInteger'cpu'arguments'model'arguments'intercept 
DivideInteger'cpu'arguments'model'arguments'slope 
DivideInteger'memory'arguments'intercept 
DivideInteger'memory'arguments'minimum 
DivideInteger'memory'arguments'slope 
EncodeUtf8'cpu'arguments'intercept 
EncodeUtf8'cpu'arguments'slope 
EncodeUtf8'memory'arguments'intercept 
EncodeUtf8'memory'arguments'slope 
EqualsByteString'cpu'arguments'constant 
EqualsByteString'cpu'arguments'intercept 
EqualsByteString'cpu'arguments'slope 
EqualsByteString'memory'arguments 
EqualsData'cpu'arguments'intercept 
EqualsData'cpu'arguments'slope 
EqualsData'memory'arguments 
EqualsInteger'cpu'arguments'intercept 
EqualsInteger'cpu'arguments'slope 
EqualsInteger'memory'arguments 
EqualsString'cpu'arguments'constant 
EqualsString'cpu'arguments'intercept 
EqualsString'cpu'arguments'slope 
EqualsString'memory'arguments 
FstPair'cpu'arguments 
FstPair'memory'arguments 
HeadList'cpu'arguments 
HeadList'memory'arguments 
IData'cpu'arguments 
IData'memory'arguments 
IfThenElse'cpu'arguments 
IfThenElse'memory'arguments 
IndexByteString'cpu'arguments 
IndexByteString'memory'arguments 
LengthOfByteString'cpu'arguments 
LengthOfByteString'memory'arguments 
LessThanByteString'cpu'arguments'intercept 
LessThanByteString'cpu'arguments'slope 
LessThanByteString'memory'arguments 
LessThanEqualsByteString'cpu'arguments'intercept 
LessThanEqualsByteString'cpu'arguments'slope 
LessThanEqualsByteString'memory'arguments 
LessThanEqualsInteger'cpu'arguments'intercept 
LessThanEqualsInteger'cpu'arguments'slope 
LessThanEqualsInteger'memory'arguments 
LessThanInteger'cpu'arguments'intercept 
LessThanInteger'cpu'arguments'slope 
LessThanInteger'memory'arguments 
ListData'cpu'arguments 
ListData'memory'arguments 
MapData'cpu'arguments 
MapData'memory'arguments 
MkCons'cpu'arguments 
MkCons'memory'arguments 
MkNilData'cpu'arguments 
MkNilData'memory'arguments 
MkNilPairData'cpu'arguments 
MkNilPairData'memory'arguments 
MkPairData'cpu'arguments 
MkPairData'memory'arguments 
ModInteger'cpu'arguments'constant 
ModInteger'cpu'arguments'model'arguments'intercept 
ModInteger'cpu'arguments'model'arguments'slope 
ModInteger'memory'arguments'intercept 
ModInteger'memory'arguments'minimum 
ModInteger'memory'arguments'slope 
MultiplyInteger'cpu'arguments'intercept 
MultiplyInteger'cpu'arguments'slope 
MultiplyInteger'memory'arguments'intercept 
MultiplyInteger'memory'arguments'slope 
NullList'cpu'arguments 
NullList'memory'arguments 
QuotientInteger'cpu'arguments'constant 
QuotientInteger'cpu'arguments'model'arguments'intercept 
QuotientInteger'cpu'arguments'model'arguments'slope 
QuotientInteger'memory'arguments'intercept 
QuotientInteger'memory'arguments'minimum 
QuotientInteger'memory'arguments'slope 
RemainderInteger'cpu'arguments'constant 
RemainderInteger'cpu'arguments'model'arguments'intercept 
RemainderInteger'cpu'arguments'model'arguments'slope 
RemainderInteger'memory'arguments'intercept 
RemainderInteger'memory'arguments'minimum 
RemainderInteger'memory'arguments'slope 
SerialiseData'cpu'arguments'intercept 
SerialiseData'cpu'arguments'slope 
SerialiseData'memory'arguments'intercept 
SerialiseData'memory'arguments'slope 
Sha2_256'cpu'arguments'intercept 
Sha2_256'cpu'arguments'slope 
Sha2_256'memory'arguments 
Sha3_256'cpu'arguments'intercept 
Sha3_256'cpu'arguments'slope 
Sha3_256'memory'arguments 
SliceByteString'cpu'arguments'intercept 
SliceByteString'cpu'arguments'slope 
SliceByteString'memory'arguments'intercept 
SliceByteString'memory'arguments'slope 
SndPair'cpu'arguments 
SndPair'memory'arguments 
SubtractInteger'cpu'arguments'intercept 
SubtractInteger'cpu'arguments'slope 
SubtractInteger'memory'arguments'intercept 
SubtractInteger'memory'arguments'slope 
TailList'cpu'arguments 
TailList'memory'arguments 
Trace'cpu'arguments 
Trace'memory'arguments 
UnBData'cpu'arguments 
UnBData'memory'arguments 
UnConstrData'cpu'arguments 
UnConstrData'memory'arguments 
UnIData'cpu'arguments 
UnIData'memory'arguments 
UnListData'cpu'arguments 
UnListData'memory'arguments 
UnMapData'cpu'arguments 
UnMapData'memory'arguments 
VerifyEcdsaSecp256k1Signature'cpu'arguments 
VerifyEcdsaSecp256k1Signature'memory'arguments 
VerifyEd25519Signature'cpu'arguments'intercept 
VerifyEd25519Signature'cpu'arguments'slope 
VerifyEd25519Signature'memory'arguments 
VerifySchnorrSecp256k1Signature'cpu'arguments'intercept 
VerifySchnorrSecp256k1Signature'cpu'arguments'slope 
VerifySchnorrSecp256k1Signature'memory'arguments 

Instances

Instances details
Bounded ParamName Source # 
Instance details

Defined in PlutusLedgerApi.V2.ParamName

Enum ParamName Source # 
Instance details

Defined in PlutusLedgerApi.V2.ParamName

Generic ParamName Source # 
Instance details

Defined in PlutusLedgerApi.V2.ParamName

Associated Types

type Rep ParamName :: Type -> Type Source #

Ix ParamName Source # 
Instance details

Defined in PlutusLedgerApi.V2.ParamName

Eq ParamName Source # 
Instance details

Defined in PlutusLedgerApi.V2.ParamName

Ord ParamName Source # 
Instance details

Defined in PlutusLedgerApi.V2.ParamName

IsParamName ParamName Source # 
Instance details

Defined in PlutusLedgerApi.V2.ParamName

type Rep ParamName Source # 
Instance details

Defined in PlutusLedgerApi.V2.ParamName

type Rep ParamName = D1 ('MetaData "ParamName" "PlutusLedgerApi.V2.ParamName" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'False) (((((((C1 ('MetaCons "AddInteger'cpu'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AddInteger'cpu'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "AddInteger'memory'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "AddInteger'memory'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AppendByteString'cpu'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "AppendByteString'cpu'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AppendByteString'memory'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "AppendByteString'memory'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "AppendString'cpu'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AppendString'cpu'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "AppendString'memory'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AppendString'memory'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BData'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BData'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Blake2b_256'cpu'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Blake2b_256'cpu'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Blake2b_256'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CekApplyCost'exBudgetCPU" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "CekApplyCost'exBudgetMemory" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CekBuiltinCost'exBudgetCPU" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CekBuiltinCost'exBudgetMemory" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "CekConstCost'exBudgetCPU" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CekConstCost'exBudgetMemory" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CekDelayCost'exBudgetCPU" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CekDelayCost'exBudgetMemory" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CekForceCost'exBudgetCPU" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "CekForceCost'exBudgetMemory" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CekLamCost'exBudgetCPU" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CekLamCost'exBudgetMemory" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "CekStartupCost'exBudgetCPU" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CekStartupCost'exBudgetMemory" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CekVarCost'exBudgetCPU" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "CekVarCost'exBudgetMemory" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ChooseData'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ChooseData'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ChooseList'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ChooseList'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "ChooseUnit'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ChooseUnit'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ConsByteString'cpu'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "ConsByteString'cpu'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ConsByteString'memory'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ConsByteString'memory'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type))))))) :+: (((((C1 ('MetaCons "ConstrData'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ConstrData'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "DecodeUtf8'cpu'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "DecodeUtf8'cpu'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DecodeUtf8'memory'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "DecodeUtf8'memory'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "DivideInteger'cpu'arguments'constant" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DivideInteger'cpu'arguments'model'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "DivideInteger'cpu'arguments'model'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "DivideInteger'memory'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DivideInteger'memory'arguments'minimum" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "DivideInteger'memory'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EncodeUtf8'cpu'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "EncodeUtf8'cpu'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "EncodeUtf8'memory'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EncodeUtf8'memory'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "EqualsByteString'cpu'arguments'constant" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "EqualsByteString'cpu'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EqualsByteString'cpu'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "EqualsByteString'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "EqualsData'cpu'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EqualsData'cpu'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "EqualsData'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EqualsInteger'cpu'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "EqualsInteger'cpu'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "EqualsInteger'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EqualsString'cpu'arguments'constant" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "EqualsString'cpu'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "EqualsString'cpu'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EqualsString'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "FstPair'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "FstPair'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HeadList'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "HeadList'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IData'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "IData'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "IfThenElse'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IfThenElse'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "IndexByteString'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "IndexByteString'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LengthOfByteString'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "LengthOfByteString'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LessThanByteString'cpu'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LessThanByteString'cpu'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type)))))))) :+: ((((((C1 ('MetaCons "LessThanByteString'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LessThanEqualsByteString'cpu'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "LessThanEqualsByteString'cpu'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LessThanEqualsByteString'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LessThanEqualsInteger'cpu'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "LessThanEqualsInteger'cpu'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LessThanEqualsInteger'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LessThanInteger'cpu'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "LessThanInteger'cpu'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LessThanInteger'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ListData'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "ListData'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MapData'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MapData'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MkCons'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MkCons'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "MkNilData'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MkNilData'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MkNilPairData'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "MkNilPairData'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MkPairData'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MkPairData'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "ModInteger'cpu'arguments'constant" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ModInteger'cpu'arguments'model'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ModInteger'cpu'arguments'model'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ModInteger'memory'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ModInteger'memory'arguments'minimum" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "ModInteger'memory'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MultiplyInteger'cpu'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MultiplyInteger'cpu'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "MultiplyInteger'memory'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MultiplyInteger'memory'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NullList'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "NullList'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "QuotientInteger'cpu'arguments'constant" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "QuotientInteger'cpu'arguments'model'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "QuotientInteger'cpu'arguments'model'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "QuotientInteger'memory'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "QuotientInteger'memory'arguments'minimum" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "QuotientInteger'memory'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RemainderInteger'cpu'arguments'constant" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "RemainderInteger'cpu'arguments'model'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RemainderInteger'cpu'arguments'model'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RemainderInteger'memory'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type))))))) :+: (((((C1 ('MetaCons "RemainderInteger'memory'arguments'minimum" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RemainderInteger'memory'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "SerialiseData'cpu'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SerialiseData'cpu'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SerialiseData'memory'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "SerialiseData'memory'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Sha2_256'cpu'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Sha2_256'cpu'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Sha2_256'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Sha3_256'cpu'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Sha3_256'cpu'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "Sha3_256'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SliceByteString'cpu'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "SliceByteString'cpu'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SliceByteString'memory'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SliceByteString'memory'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "SndPair'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SndPair'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SubtractInteger'cpu'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "SubtractInteger'cpu'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SubtractInteger'memory'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SubtractInteger'memory'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "TailList'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TailList'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Trace'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Trace'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UnBData'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "UnBData'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "UnConstrData'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UnConstrData'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "UnIData'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "UnIData'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UnListData'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "UnListData'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UnMapData'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "UnMapData'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "VerifyEcdsaSecp256k1Signature'cpu'arguments" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "VerifyEcdsaSecp256k1Signature'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "VerifyEd25519Signature'cpu'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "VerifyEd25519Signature'cpu'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "VerifyEd25519Signature'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "VerifySchnorrSecp256k1Signature'cpu'arguments'intercept" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "VerifySchnorrSecp256k1Signature'cpu'arguments'slope" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "VerifySchnorrSecp256k1Signature'memory'arguments" 'PrefixI 'False) (U1 :: Type -> Type)))))))))

data CostModelApplyError Source #

The type of errors that applyParams can throw.

Constructors

CMUnknownParamError Text

a costmodel parameter with the give name does not exist in the costmodel to be applied upon

CMInternalReadError

internal error when we are transforming the applyParams' input to json (should not happen)

CMInternalWriteError String

internal error when we are transforming the applied params from json with given jsonstring error (should not happen)

CMTooFewParamsError

See Note [Cost model parameters from the ledger's point of view]

assertWellFormedCostModelParams :: MonadError CostModelApplyError m => CostModelParams -> m () Source #

Comparably expensive to mkEvaluationContext, so it should only be used sparingly.

Context types

data ScriptContext Source #

Instances

Instances details
Generic ScriptContext Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

Associated Types

type Rep ScriptContext :: Type -> Type Source #

Show ScriptContext Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

Eq ScriptContext Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

Eq ScriptContext Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

FromData ScriptContext Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

ToData ScriptContext Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

UnsafeFromData ScriptContext Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

Pretty ScriptContext Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

Lift DefaultUni ScriptContext Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

Typeable DefaultUni ScriptContext Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

type Rep ScriptContext Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

type Rep ScriptContext = D1 ('MetaData "ScriptContext" "PlutusLedgerApi.V2.Contexts" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'False) (C1 ('MetaCons "ScriptContext" 'PrefixI 'True) (S1 ('MetaSel ('Just "scriptContextTxInfo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TxInfo) :*: S1 ('MetaSel ('Just "scriptContextPurpose") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ScriptPurpose)))

data ScriptPurpose Source #

Purpose of the script that is currently running

Instances

Instances details
Generic ScriptPurpose Source # 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

Associated Types

type Rep ScriptPurpose :: Type -> Type Source #

Show ScriptPurpose Source # 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

Eq ScriptPurpose Source # 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

Eq ScriptPurpose Source # 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

FromData ScriptPurpose Source # 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

ToData ScriptPurpose Source # 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

UnsafeFromData ScriptPurpose Source # 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

Pretty ScriptPurpose Source # 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

Lift DefaultUni ScriptPurpose Source # 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

Typeable DefaultUni ScriptPurpose Source # 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

type Rep ScriptPurpose Source # 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

Supporting types used in the context types

ByteStrings

data BuiltinByteString Source #

An opaque type representing Plutus Core ByteStrings.

Instances

Instances details
Data BuiltinByteString 
Instance details

Defined in PlutusTx.Builtins.Internal

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BuiltinByteString -> c BuiltinByteString Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BuiltinByteString Source #

toConstr :: BuiltinByteString -> Constr Source #

dataTypeOf :: BuiltinByteString -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BuiltinByteString) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BuiltinByteString) Source #

gmapT :: (forall b. Data b => b -> b) -> BuiltinByteString -> BuiltinByteString Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BuiltinByteString -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BuiltinByteString -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> BuiltinByteString -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> BuiltinByteString -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> BuiltinByteString -> m BuiltinByteString Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BuiltinByteString -> m BuiltinByteString Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BuiltinByteString -> m BuiltinByteString Source #

Monoid BuiltinByteString 
Instance details

Defined in PlutusTx.Builtins.Internal

Semigroup BuiltinByteString 
Instance details

Defined in PlutusTx.Builtins.Internal

Show BuiltinByteString 
Instance details

Defined in PlutusTx.Builtins.Internal

NFData BuiltinByteString 
Instance details

Defined in PlutusTx.Builtins.Internal

Methods

rnf :: BuiltinByteString -> () Source #

Eq BuiltinByteString 
Instance details

Defined in PlutusTx.Builtins.Internal

Ord BuiltinByteString 
Instance details

Defined in PlutusTx.Builtins.Internal

Hashable BuiltinByteString 
Instance details

Defined in PlutusTx.Builtins.Internal

ByteArray BuiltinByteString 
Instance details

Defined in PlutusTx.Builtins.Internal

Methods

allocRet :: Int -> (Ptr p -> IO a) -> IO (a, BuiltinByteString) Source #

ByteArrayAccess BuiltinByteString 
Instance details

Defined in PlutusTx.Builtins.Internal

Eq BuiltinByteString 
Instance details

Defined in PlutusTx.Eq

FromData BuiltinByteString 
Instance details

Defined in PlutusTx.IsData.Class

ToData BuiltinByteString 
Instance details

Defined in PlutusTx.IsData.Class

UnsafeFromData BuiltinByteString 
Instance details

Defined in PlutusTx.IsData.Class

Monoid BuiltinByteString 
Instance details

Defined in PlutusTx.Monoid

Ord BuiltinByteString 
Instance details

Defined in PlutusTx.Ord

Semigroup BuiltinByteString 
Instance details

Defined in PlutusTx.Semigroup

Pretty BuiltinByteString 
Instance details

Defined in PlutusTx.Builtins.Internal

Serialise BuiltinByteString 
Instance details

Defined in PlutusTx.Builtins.Internal

FromBuiltin BuiltinByteString ByteString 
Instance details

Defined in PlutusTx.Builtins.Class

ToBuiltin ByteString BuiltinByteString 
Instance details

Defined in PlutusTx.Builtins.Class

toBuiltin :: ToBuiltin a arep => a -> arep Source #

fromBuiltin :: FromBuiltin arep a => arep -> a Source #

Bytes

newtype LedgerBytes Source #

Instances

Instances details
IsString LedgerBytes Source #

The IsString instance of LedgerBytes could throw an exception of LedgerBytesError.

Instance details

Defined in PlutusLedgerApi.V1.Bytes

Generic LedgerBytes Source # 
Instance details

Defined in PlutusLedgerApi.V1.Bytes

Associated Types

type Rep LedgerBytes :: Type -> Type Source #

Show LedgerBytes Source #

The Show instance of LedgerBytes is its base16/hex encoded bytestring, decoded with UTF-8, unpacked to String.

Instance details

Defined in PlutusLedgerApi.V1.Bytes

NFData LedgerBytes Source # 
Instance details

Defined in PlutusLedgerApi.V1.Bytes

Methods

rnf :: LedgerBytes -> () Source #

Eq LedgerBytes Source # 
Instance details

Defined in PlutusLedgerApi.V1.Bytes

Ord LedgerBytes Source # 
Instance details

Defined in PlutusLedgerApi.V1.Bytes

Eq LedgerBytes Source # 
Instance details

Defined in PlutusLedgerApi.V1.Bytes

FromData LedgerBytes Source # 
Instance details

Defined in PlutusLedgerApi.V1.Bytes

ToData LedgerBytes Source # 
Instance details

Defined in PlutusLedgerApi.V1.Bytes

UnsafeFromData LedgerBytes Source # 
Instance details

Defined in PlutusLedgerApi.V1.Bytes

Ord LedgerBytes Source # 
Instance details

Defined in PlutusLedgerApi.V1.Bytes

Pretty LedgerBytes Source # 
Instance details

Defined in PlutusLedgerApi.V1.Bytes

Lift DefaultUni LedgerBytes Source # 
Instance details

Defined in PlutusLedgerApi.V1.Bytes

Typeable DefaultUni LedgerBytes Source # 
Instance details

Defined in PlutusLedgerApi.V1.Bytes

type Rep LedgerBytes Source # 
Instance details

Defined in PlutusLedgerApi.V1.Bytes

type Rep LedgerBytes = D1 ('MetaData "LedgerBytes" "PlutusLedgerApi.V1.Bytes" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'True) (C1 ('MetaCons "LedgerBytes" 'PrefixI 'True) (S1 ('MetaSel ('Just "getLedgerBytes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinByteString)))

Certificates

data DCert Source #

A representation of the ledger DCert. Some information is digested, and not included

Constructors

DCertDelegRegKey StakingCredential 
DCertDelegDeRegKey StakingCredential 
DCertDelegDelegate 

Fields

DCertPoolRegister

A digest of the PoolParams

Fields

DCertPoolRetire PubKeyHash Integer

The retiremant certificate and the Epoch N

DCertGenesis

A really terse Digest

DCertMir

Another really terse Digest

Instances

Instances details
Generic DCert Source # 
Instance details

Defined in PlutusLedgerApi.V1.DCert

Associated Types

type Rep DCert :: Type -> Type Source #

Methods

from :: DCert -> Rep DCert x Source #

to :: Rep DCert x -> DCert Source #

Show DCert Source # 
Instance details

Defined in PlutusLedgerApi.V1.DCert

NFData DCert Source # 
Instance details

Defined in PlutusLedgerApi.V1.DCert

Methods

rnf :: DCert -> () Source #

Eq DCert Source # 
Instance details

Defined in PlutusLedgerApi.V1.DCert

Methods

(==) :: DCert -> DCert -> Bool Source #

(/=) :: DCert -> DCert -> Bool Source #

Ord DCert Source # 
Instance details

Defined in PlutusLedgerApi.V1.DCert

Eq DCert Source # 
Instance details

Defined in PlutusLedgerApi.V1.DCert

Methods

(==) :: DCert -> DCert -> Bool Source #

FromData DCert Source # 
Instance details

Defined in PlutusLedgerApi.V1.DCert

ToData DCert Source # 
Instance details

Defined in PlutusLedgerApi.V1.DCert

UnsafeFromData DCert Source # 
Instance details

Defined in PlutusLedgerApi.V1.DCert

Pretty DCert Source # 
Instance details

Defined in PlutusLedgerApi.V1.DCert

Methods

pretty :: DCert -> Doc ann Source #

prettyList :: [DCert] -> Doc ann Source #

Lift DefaultUni DCert Source # 
Instance details

Defined in PlutusLedgerApi.V1.DCert

Typeable DefaultUni DCert Source # 
Instance details

Defined in PlutusLedgerApi.V1.DCert

type Rep DCert Source # 
Instance details

Defined in PlutusLedgerApi.V1.DCert

type Rep DCert = D1 ('MetaData "DCert" "PlutusLedgerApi.V1.DCert" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'False) ((C1 ('MetaCons "DCertDelegRegKey" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 StakingCredential)) :+: (C1 ('MetaCons "DCertDelegDeRegKey" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 StakingCredential)) :+: C1 ('MetaCons "DCertDelegDelegate" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 StakingCredential) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PubKeyHash)))) :+: ((C1 ('MetaCons "DCertPoolRegister" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PubKeyHash) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PubKeyHash)) :+: C1 ('MetaCons "DCertPoolRetire" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PubKeyHash) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer))) :+: (C1 ('MetaCons "DCertGenesis" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DCertMir" 'PrefixI 'False) (U1 :: Type -> Type))))

Credentials

data StakingCredential Source #

Staking credential used to assign rewards.

Constructors

StakingHash Credential

The staking hash is the Credential required to unlock a transaction output. Either a public key credential (PubKeyHash) or a script credential (ValidatorHash). Both are hashed with BLAKE2b-244. 28 byte.

StakingPtr

The certificate pointer, constructed by the given slot number, transaction and certificate indices. NB: The fields should really be all Word64, as they are implemented in Word64, but Integer is our only integral type so we need to use it instead.

Fields

  • Integer

    the slot number

  • Integer

    the transaction index (within the block)

  • Integer

    the certificate index (within the transaction)

Instances

Instances details
Generic StakingCredential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

Associated Types

type Rep StakingCredential :: Type -> Type Source #

Show StakingCredential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

NFData StakingCredential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

Methods

rnf :: StakingCredential -> () Source #

Eq StakingCredential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

Ord StakingCredential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

Eq StakingCredential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

FromData StakingCredential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

ToData StakingCredential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

UnsafeFromData StakingCredential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

Pretty StakingCredential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

Lift DefaultUni StakingCredential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

Typeable DefaultUni StakingCredential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

type Rep StakingCredential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

data Credential Source #

Credentials required to unlock a transaction output.

Constructors

PubKeyCredential PubKeyHash

The transaction that spends this output must be signed by the private key. See PubKeyHash.

ScriptCredential ScriptHash

The transaction that spends this output must include the validator script and be accepted by the validator. See ValidatorHash.

Instances

Instances details
Generic Credential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

Associated Types

type Rep Credential :: Type -> Type Source #

Show Credential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

NFData Credential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

Methods

rnf :: Credential -> () Source #

Eq Credential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

Ord Credential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

Eq Credential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

FromData Credential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

ToData Credential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

UnsafeFromData Credential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

Pretty Credential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

Lift DefaultUni Credential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

Typeable DefaultUni Credential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

type Rep Credential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

type Rep Credential = D1 ('MetaData "Credential" "PlutusLedgerApi.V1.Credential" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'False) (C1 ('MetaCons "PubKeyCredential" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PubKeyHash)) :+: C1 ('MetaCons "ScriptCredential" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ScriptHash)))

Value

newtype Value Source #

The Value type represents a collection of amounts of different currencies. We can think of Value as a vector space whose dimensions are currencies. To create a value of Value, we need to specify a currency. This can be done using adaValueOf. To get the ada dimension of Value we use fromValue. Plutus contract authors will be able to define modules similar to Ada for their own currencies.

Operations on currencies are usually implemented pointwise. That is, we apply the operation to the quantities for each currency in turn. So when we add two Values the resulting Value has, for each currency, the sum of the quantities of that particular currency in the argument Value. The effect of this is that the currencies in the Value are "independent", and are operated on separately.

Whenever we need to get the quantity of a currency in a Value where there is no explicit quantity of that currency in the Value, then the quantity is taken to be zero.

There is no 'Ord Value' instance since Value is only a partial order, so compare can't do the right thing in some cases.

Instances

Instances details
Data Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Value -> c Value Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Value Source #

toConstr :: Value -> Constr Source #

dataTypeOf :: Value -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Value) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Value) Source #

gmapT :: (forall b. Data b => b -> b) -> Value -> Value Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Value -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Value -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Value -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Value -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Value -> m Value Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Value -> m Value Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Value -> m Value Source #

Monoid Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Semigroup Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Generic Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Associated Types

type Rep Value :: Type -> Type Source #

Methods

from :: Value -> Rep Value x Source #

to :: Rep Value x -> Value Source #

Show Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

NFData Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Methods

rnf :: Value -> () Source #

Eq Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Methods

(==) :: Value -> Value -> Bool Source #

(/=) :: Value -> Value -> Bool Source #

Eq Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Methods

(==) :: Value -> Value -> Bool Source #

FromData Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

ToData Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

UnsafeFromData Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

JoinSemiLattice Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Methods

(\/) :: Value -> Value -> Value Source #

MeetSemiLattice Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Methods

(/\) :: Value -> Value -> Value Source #

Group Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Methods

inv :: Value -> Value Source #

Monoid Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Methods

mempty :: Value Source #

AdditiveGroup Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Methods

(-) :: Value -> Value -> Value Source #

AdditiveMonoid Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Methods

zero :: Value Source #

AdditiveSemigroup Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Methods

(+) :: Value -> Value -> Value Source #

Semigroup Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Methods

(<>) :: Value -> Value -> Value Source #

Pretty Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Methods

pretty :: Value -> Doc ann Source #

prettyList :: [Value] -> Doc ann Source #

Lift DefaultUni Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Module Integer Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Methods

scale :: Integer -> Value -> Value Source #

Typeable DefaultUni Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

type Rep Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

type Rep Value = D1 ('MetaData "Value" "PlutusLedgerApi.V1.Value" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'True) (C1 ('MetaCons "Value" 'PrefixI 'True) (S1 ('MetaSel ('Just "getValue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map CurrencySymbol (Map TokenName Integer)))))

newtype CurrencySymbol Source #

ByteString representing the currency, hashed with BLAKE2b-224. It is empty for Ada, 28 bytes for MintingPolicyHash. Forms an AssetClass along with TokenName. A Value is a map from CurrencySymbol's to a map from TokenName to an Integer.

This is a simple type without any validation, use with caution. You may want to add checks for its invariants. See the Shelley ledger specification.

Instances

Instances details
Data CurrencySymbol Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CurrencySymbol -> c CurrencySymbol Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CurrencySymbol Source #

toConstr :: CurrencySymbol -> Constr Source #

dataTypeOf :: CurrencySymbol -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CurrencySymbol) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CurrencySymbol) Source #

gmapT :: (forall b. Data b => b -> b) -> CurrencySymbol -> CurrencySymbol Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CurrencySymbol -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CurrencySymbol -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CurrencySymbol -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CurrencySymbol -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CurrencySymbol -> m CurrencySymbol Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CurrencySymbol -> m CurrencySymbol Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CurrencySymbol -> m CurrencySymbol Source #

IsString CurrencySymbol Source #

from hex encoding

Instance details

Defined in PlutusLedgerApi.V1.Value

Generic CurrencySymbol Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Associated Types

type Rep CurrencySymbol :: Type -> Type Source #

Show CurrencySymbol Source #

using hex encoding

Instance details

Defined in PlutusLedgerApi.V1.Value

NFData CurrencySymbol Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Methods

rnf :: CurrencySymbol -> () Source #

Eq CurrencySymbol Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Ord CurrencySymbol Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Eq CurrencySymbol Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

FromData CurrencySymbol Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

ToData CurrencySymbol Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

UnsafeFromData CurrencySymbol Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Ord CurrencySymbol Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Pretty CurrencySymbol Source #

using hex encoding

Instance details

Defined in PlutusLedgerApi.V1.Value

Lift DefaultUni CurrencySymbol Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Typeable DefaultUni CurrencySymbol Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

type Rep CurrencySymbol Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

type Rep CurrencySymbol = D1 ('MetaData "CurrencySymbol" "PlutusLedgerApi.V1.Value" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'True) (C1 ('MetaCons "CurrencySymbol" 'PrefixI 'True) (S1 ('MetaSel ('Just "unCurrencySymbol") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinByteString)))

newtype TokenName Source #

ByteString of a name of a token. Shown as UTF-8 string when possible. Should be no longer than 32 bytes, empty for Ada. Forms an AssetClass along with a CurrencySymbol.

This is a simple type without any validation, use with caution. You may want to add checks for its invariants. See the Shelley ledger specification.

Constructors

TokenName 

Instances

Instances details
Data TokenName Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TokenName -> c TokenName Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TokenName Source #

toConstr :: TokenName -> Constr Source #

dataTypeOf :: TokenName -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TokenName) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TokenName) Source #

gmapT :: (forall b. Data b => b -> b) -> TokenName -> TokenName Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TokenName -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TokenName -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> TokenName -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TokenName -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TokenName -> m TokenName Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TokenName -> m TokenName Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TokenName -> m TokenName Source #

IsString TokenName Source #

UTF-8 encoding. Doesn't verify length.

Instance details

Defined in PlutusLedgerApi.V1.Value

Generic TokenName Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Associated Types

type Rep TokenName :: Type -> Type Source #

Show TokenName Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

NFData TokenName Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Methods

rnf :: TokenName -> () Source #

Eq TokenName Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Ord TokenName Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Eq TokenName Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

FromData TokenName Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

ToData TokenName Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

UnsafeFromData TokenName Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Ord TokenName Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Pretty TokenName Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Methods

pretty :: TokenName -> Doc ann Source #

prettyList :: [TokenName] -> Doc ann Source #

Lift DefaultUni TokenName Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

Typeable DefaultUni TokenName Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

type Rep TokenName Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

type Rep TokenName = D1 ('MetaData "TokenName" "PlutusLedgerApi.V1.Value" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'True) (C1 ('MetaCons "TokenName" 'PrefixI 'True) (S1 ('MetaSel ('Just "unTokenName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinByteString)))

singleton :: CurrencySymbol -> TokenName -> Integer -> Value Source #

Make a Value containing only the given quantity of the given currency.

adaSymbol :: CurrencySymbol Source #

The CurrencySymbol of the Ada currency.

adaToken :: TokenName Source #

The TokenName of the Ada currency.

Time

newtype POSIXTime Source #

POSIX time is measured as the number of milliseconds since 1970-01-01T00:00:00Z. This is not the same as Haskell's POSIXTime

Constructors

POSIXTime 

Instances

Instances details
Enum POSIXTime Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

Generic POSIXTime Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

Associated Types

type Rep POSIXTime :: Type -> Type Source #

Num POSIXTime Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

Integral POSIXTime Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

Real POSIXTime Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

Show POSIXTime Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

NFData POSIXTime Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

Methods

rnf :: POSIXTime -> () Source #

Eq POSIXTime Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

Ord POSIXTime Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

Enum POSIXTime Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

Eq POSIXTime Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

FromData POSIXTime Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

ToData POSIXTime Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

UnsafeFromData POSIXTime Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

AdditiveGroup POSIXTime Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

AdditiveMonoid POSIXTime Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

AdditiveSemigroup POSIXTime Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

Ord POSIXTime Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

Pretty POSIXTime Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

Methods

pretty :: POSIXTime -> Doc ann Source #

prettyList :: [POSIXTime] -> Doc ann Source #

Lift DefaultUni POSIXTime Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

Typeable DefaultUni POSIXTime Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

type Rep POSIXTime Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

type Rep POSIXTime = D1 ('MetaData "POSIXTime" "PlutusLedgerApi.V1.Time" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'True) (C1 ('MetaCons "POSIXTime" 'PrefixI 'True) (S1 ('MetaSel ('Just "getPOSIXTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)))

Types for representing transactions

data Address Source #

Address with two kinds of credentials, normal and staking.

Instances

Instances details
Generic Address Source # 
Instance details

Defined in PlutusLedgerApi.V1.Address

Associated Types

type Rep Address :: Type -> Type Source #

Show Address Source # 
Instance details

Defined in PlutusLedgerApi.V1.Address

NFData Address Source # 
Instance details

Defined in PlutusLedgerApi.V1.Address

Methods

rnf :: Address -> () Source #

Eq Address Source # 
Instance details

Defined in PlutusLedgerApi.V1.Address

Ord Address Source # 
Instance details

Defined in PlutusLedgerApi.V1.Address

Eq Address Source # 
Instance details

Defined in PlutusLedgerApi.V1.Address

Methods

(==) :: Address -> Address -> Bool Source #

FromData Address Source # 
Instance details

Defined in PlutusLedgerApi.V1.Address

ToData Address Source # 
Instance details

Defined in PlutusLedgerApi.V1.Address

UnsafeFromData Address Source # 
Instance details

Defined in PlutusLedgerApi.V1.Address

Pretty Address Source # 
Instance details

Defined in PlutusLedgerApi.V1.Address

Methods

pretty :: Address -> Doc ann Source #

prettyList :: [Address] -> Doc ann Source #

Lift DefaultUni Address Source # 
Instance details

Defined in PlutusLedgerApi.V1.Address

Typeable DefaultUni Address Source # 
Instance details

Defined in PlutusLedgerApi.V1.Address

type Rep Address Source # 
Instance details

Defined in PlutusLedgerApi.V1.Address

type Rep Address = D1 ('MetaData "Address" "PlutusLedgerApi.V1.Address" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'False) (C1 ('MetaCons "Address" 'PrefixI 'True) (S1 ('MetaSel ('Just "addressCredential") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Credential) :*: S1 ('MetaSel ('Just "addressStakingCredential") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe StakingCredential))))

newtype PubKeyHash Source #

The hash of a public key. This is frequently used to identify the public key, rather than the key itself. Hashed with BLAKE2b-224. 28 bytes.

This is a simple type without any validation, use with caution. You may want to add checks for its invariants. See the Shelley ledger specification.

Instances

Instances details
IsString PubKeyHash Source #

from hex encoding

Instance details

Defined in PlutusLedgerApi.V1.Crypto

Generic PubKeyHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Crypto

Associated Types

type Rep PubKeyHash :: Type -> Type Source #

Show PubKeyHash Source #

using hex encoding

Instance details

Defined in PlutusLedgerApi.V1.Crypto

NFData PubKeyHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Crypto

Methods

rnf :: PubKeyHash -> () Source #

Eq PubKeyHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Crypto

Ord PubKeyHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Crypto

Eq PubKeyHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Crypto

FromData PubKeyHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Crypto

ToData PubKeyHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Crypto

UnsafeFromData PubKeyHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Crypto

Ord PubKeyHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Crypto

Pretty PubKeyHash Source #

using hex encoding

Instance details

Defined in PlutusLedgerApi.V1.Crypto

Lift DefaultUni PubKeyHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Crypto

Typeable DefaultUni PubKeyHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Crypto

type Rep PubKeyHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Crypto

type Rep PubKeyHash = D1 ('MetaData "PubKeyHash" "PlutusLedgerApi.V1.Crypto" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'True) (C1 ('MetaCons "PubKeyHash" 'PrefixI 'True) (S1 ('MetaSel ('Just "getPubKeyHash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinByteString)))

newtype TxId Source #

A transaction ID, i.e. the hash of a transaction. Hashed with BLAKE2b-256. 32 byte.

This is a simple type without any validation, use with caution. You may want to add checks for its invariants. See the Shelley ledger specification.

Constructors

TxId 

Instances

Instances details
IsString TxId Source #

from hex encoding

Instance details

Defined in PlutusLedgerApi.V1.Tx

Generic TxId Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Associated Types

type Rep TxId :: Type -> Type Source #

Methods

from :: TxId -> Rep TxId x Source #

to :: Rep TxId x -> TxId Source #

Show TxId Source #

using hex encoding

Instance details

Defined in PlutusLedgerApi.V1.Tx

NFData TxId Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Methods

rnf :: TxId -> () Source #

Eq TxId Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Methods

(==) :: TxId -> TxId -> Bool Source #

(/=) :: TxId -> TxId -> Bool Source #

Ord TxId Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Eq TxId Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Methods

(==) :: TxId -> TxId -> Bool Source #

FromData TxId Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

ToData TxId Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

UnsafeFromData TxId Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Ord TxId Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Pretty TxId Source #

using hex encoding

Instance details

Defined in PlutusLedgerApi.V1.Tx

Methods

pretty :: TxId -> Doc ann Source #

prettyList :: [TxId] -> Doc ann Source #

Lift DefaultUni TxId Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Typeable DefaultUni TxId Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

type Rep TxId Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

type Rep TxId = D1 ('MetaData "TxId" "PlutusLedgerApi.V1.Tx" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'True) (C1 ('MetaCons "TxId" 'PrefixI 'True) (S1 ('MetaSel ('Just "getTxId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinByteString)))

data TxInfo Source #

A pending transaction. This is the view as seen by validator scripts, so some details are stripped out.

Constructors

TxInfo 

Fields

Instances

Instances details
Generic TxInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

Associated Types

type Rep TxInfo :: Type -> Type Source #

Show TxInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

Eq TxInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

Eq TxInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

Methods

(==) :: TxInfo -> TxInfo -> Bool Source #

FromData TxInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

ToData TxInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

UnsafeFromData TxInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

Pretty TxInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

Methods

pretty :: TxInfo -> Doc ann Source #

prettyList :: [TxInfo] -> Doc ann Source #

Lift DefaultUni TxInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

Typeable DefaultUni TxInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

type Rep TxInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

type Rep TxInfo = D1 ('MetaData "TxInfo" "PlutusLedgerApi.V2.Contexts" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'False) (C1 ('MetaCons "TxInfo" 'PrefixI 'True) (((S1 ('MetaSel ('Just "txInfoInputs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TxInInfo]) :*: (S1 ('MetaSel ('Just "txInfoReferenceInputs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TxInInfo]) :*: S1 ('MetaSel ('Just "txInfoOutputs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TxOut]))) :*: (S1 ('MetaSel ('Just "txInfoFee") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Value) :*: (S1 ('MetaSel ('Just "txInfoMint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Value) :*: S1 ('MetaSel ('Just "txInfoDCert") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [DCert])))) :*: ((S1 ('MetaSel ('Just "txInfoWdrl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map StakingCredential Integer)) :*: (S1 ('MetaSel ('Just "txInfoValidRange") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 POSIXTimeRange) :*: S1 ('MetaSel ('Just "txInfoSignatories") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [PubKeyHash]))) :*: (S1 ('MetaSel ('Just "txInfoRedeemers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map ScriptPurpose Redeemer)) :*: (S1 ('MetaSel ('Just "txInfoData") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map DatumHash Datum)) :*: S1 ('MetaSel ('Just "txInfoId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TxId))))))

data TxOut Source #

A transaction output, consisting of a target address, a value, optionally a datum/datum hash, and optionally a reference script.

Instances

Instances details
Generic TxOut Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

Associated Types

type Rep TxOut :: Type -> Type Source #

Methods

from :: TxOut -> Rep TxOut x Source #

to :: Rep TxOut x -> TxOut Source #

Show TxOut Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

NFData TxOut Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

Methods

rnf :: TxOut -> () Source #

Eq TxOut Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

Methods

(==) :: TxOut -> TxOut -> Bool Source #

(/=) :: TxOut -> TxOut -> Bool Source #

Eq TxOut Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

Methods

(==) :: TxOut -> TxOut -> Bool Source #

FromData TxOut Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

ToData TxOut Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

UnsafeFromData TxOut Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

Pretty TxOut Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

Methods

pretty :: TxOut -> Doc ann Source #

prettyList :: [TxOut] -> Doc ann Source #

Lift DefaultUni TxOut Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

Typeable DefaultUni TxOut Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

type Rep TxOut Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

type Rep TxOut = D1 ('MetaData "TxOut" "PlutusLedgerApi.V2.Tx" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'False) (C1 ('MetaCons "TxOut" 'PrefixI 'True) ((S1 ('MetaSel ('Just "txOutAddress") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Address) :*: S1 ('MetaSel ('Just "txOutValue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Value)) :*: (S1 ('MetaSel ('Just "txOutDatum") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OutputDatum) :*: S1 ('MetaSel ('Just "txOutReferenceScript") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ScriptHash)))))

data TxOutRef Source #

A reference to a transaction output. This is a pair of a transaction ID (TxId), and an index indicating which of the outputs of that transaction we are referring to.

Constructors

TxOutRef 

Fields

Instances

Instances details
Generic TxOutRef Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Associated Types

type Rep TxOutRef :: Type -> Type Source #

Show TxOutRef Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

NFData TxOutRef Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Methods

rnf :: TxOutRef -> () Source #

Eq TxOutRef Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Ord TxOutRef Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Eq TxOutRef Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Methods

(==) :: TxOutRef -> TxOutRef -> Bool Source #

FromData TxOutRef Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

ToData TxOutRef Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

UnsafeFromData TxOutRef Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Pretty TxOutRef Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Methods

pretty :: TxOutRef -> Doc ann Source #

prettyList :: [TxOutRef] -> Doc ann Source #

Lift DefaultUni TxOutRef Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

Typeable DefaultUni TxOutRef Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

type Rep TxOutRef Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

type Rep TxOutRef = D1 ('MetaData "TxOutRef" "PlutusLedgerApi.V1.Tx" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'False) (C1 ('MetaCons "TxOutRef" 'PrefixI 'True) (S1 ('MetaSel ('Just "txOutRefId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TxId) :*: S1 ('MetaSel ('Just "txOutRefIdx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)))

data TxInInfo Source #

An input of a pending transaction.

Instances

Instances details
Generic TxInInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

Associated Types

type Rep TxInInfo :: Type -> Type Source #

Show TxInInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

Eq TxInInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

Eq TxInInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

Methods

(==) :: TxInInfo -> TxInInfo -> Bool Source #

FromData TxInInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

ToData TxInInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

UnsafeFromData TxInInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

Pretty TxInInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

Methods

pretty :: TxInInfo -> Doc ann Source #

prettyList :: [TxInInfo] -> Doc ann Source #

Lift DefaultUni TxInInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

Typeable DefaultUni TxInInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

type Rep TxInInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

type Rep TxInInfo = D1 ('MetaData "TxInInfo" "PlutusLedgerApi.V2.Contexts" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'False) (C1 ('MetaCons "TxInInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "txInInfoOutRef") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TxOutRef) :*: S1 ('MetaSel ('Just "txInInfoResolved") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TxOut)))

data OutputDatum Source #

The datum attached to an output: either nothing; a datum hash; or the datum itself (an "inline datum").

Instances

Instances details
Generic OutputDatum Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

Associated Types

type Rep OutputDatum :: Type -> Type Source #

Show OutputDatum Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

NFData OutputDatum Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

Methods

rnf :: OutputDatum -> () Source #

Eq OutputDatum Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

Eq OutputDatum Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

FromData OutputDatum Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

ToData OutputDatum Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

UnsafeFromData OutputDatum Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

Pretty OutputDatum Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

Lift DefaultUni OutputDatum Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

Typeable DefaultUni OutputDatum Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

type Rep OutputDatum Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

type Rep OutputDatum = D1 ('MetaData "OutputDatum" "PlutusLedgerApi.V2.Tx" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'False) (C1 ('MetaCons "NoOutputDatum" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "OutputDatumHash" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DatumHash)) :+: C1 ('MetaCons "OutputDatum" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Datum))))

Intervals

data Interval a Source #

An interval of as.

The interval may be either closed or open at either end, meaning that the endpoints may or may not be included in the interval.

The interval can also be unbounded on either side.

Constructors

Interval 

Fields

Instances

Instances details
Functor Interval Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

fmap :: (a -> b) -> Interval a -> Interval b Source #

(Typeable DefaultUni a, Lift DefaultUni (LowerBound a), Lift DefaultUni (UpperBound a)) => Lift DefaultUni (Interval a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Generic (Interval a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Associated Types

type Rep (Interval a) :: Type -> Type Source #

Methods

from :: Interval a -> Rep (Interval a) x Source #

to :: Rep (Interval a) x -> Interval a Source #

Show a => Show (Interval a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

NFData a => NFData (Interval a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

rnf :: Interval a -> () Source #

Eq a => Eq (Interval a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

(==) :: Interval a -> Interval a -> Bool Source #

(/=) :: Interval a -> Interval a -> Bool Source #

Ord a => Ord (Interval a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Eq a => Eq (Interval a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

(==) :: Interval a -> Interval a -> Bool Source #

FromData a => FromData (Interval a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

ToData a => ToData (Interval a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

UnsafeFromData a => UnsafeFromData (Interval a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Ord a => BoundedJoinSemiLattice (Interval a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

bottom :: Interval a Source #

Ord a => BoundedMeetSemiLattice (Interval a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

top :: Interval a Source #

Ord a => JoinSemiLattice (Interval a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

(\/) :: Interval a -> Interval a -> Interval a Source #

Ord a => MeetSemiLattice (Interval a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

(/\) :: Interval a -> Interval a -> Interval a Source #

Pretty a => Pretty (Interval a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

pretty :: Interval a -> Doc ann Source #

prettyList :: [Interval a] -> Doc ann Source #

Typeable DefaultUni Interval Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

type Rep (Interval a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

type Rep (Interval a) = D1 ('MetaData "Interval" "PlutusLedgerApi.V1.Interval" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'False) (C1 ('MetaCons "Interval" 'PrefixI 'True) (S1 ('MetaSel ('Just "ivFrom") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (LowerBound a)) :*: S1 ('MetaSel ('Just "ivTo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (UpperBound a))))

data Extended a Source #

A set extended with a positive and negative infinity.

Constructors

NegInf 
Finite a 
PosInf 

Instances

Instances details
Functor Extended Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

fmap :: (a -> b) -> Extended a -> Extended b Source #

(Typeable DefaultUni a, Lift DefaultUni a) => Lift DefaultUni (Extended a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Generic (Extended a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Associated Types

type Rep (Extended a) :: Type -> Type Source #

Methods

from :: Extended a -> Rep (Extended a) x Source #

to :: Rep (Extended a) x -> Extended a Source #

Show a => Show (Extended a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

NFData a => NFData (Extended a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

rnf :: Extended a -> () Source #

Eq a => Eq (Extended a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

(==) :: Extended a -> Extended a -> Bool Source #

(/=) :: Extended a -> Extended a -> Bool Source #

Ord a => Ord (Extended a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Eq a => Eq (Extended a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

(==) :: Extended a -> Extended a -> Bool Source #

FromData a => FromData (Extended a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

ToData a => ToData (Extended a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

UnsafeFromData a => UnsafeFromData (Extended a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Ord a => Ord (Extended a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Pretty a => Pretty (Extended a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

pretty :: Extended a -> Doc ann Source #

prettyList :: [Extended a] -> Doc ann Source #

Typeable DefaultUni Extended Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

type Rep (Extended a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

type Rep (Extended a) = D1 ('MetaData "Extended" "PlutusLedgerApi.V1.Interval" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'False) (C1 ('MetaCons "NegInf" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Finite" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "PosInf" 'PrefixI 'False) (U1 :: Type -> Type)))

type Closure = Bool Source #

Whether a bound is inclusive or not.

data UpperBound a Source #

The upper bound of an interval.

Constructors

UpperBound (Extended a) Closure 

Instances

Instances details
Functor UpperBound Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

fmap :: (a -> b) -> UpperBound a -> UpperBound b Source #

(Typeable DefaultUni a, Lift DefaultUni (Extended a)) => Lift DefaultUni (UpperBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Generic (UpperBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Associated Types

type Rep (UpperBound a) :: Type -> Type Source #

Methods

from :: UpperBound a -> Rep (UpperBound a) x Source #

to :: Rep (UpperBound a) x -> UpperBound a Source #

Show a => Show (UpperBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

NFData a => NFData (UpperBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

rnf :: UpperBound a -> () Source #

Eq a => Eq (UpperBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Ord a => Ord (UpperBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Eq a => Eq (UpperBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

(==) :: UpperBound a -> UpperBound a -> Bool Source #

FromData a => FromData (UpperBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

ToData a => ToData (UpperBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

UnsafeFromData a => UnsafeFromData (UpperBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Ord a => Ord (UpperBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Pretty a => Pretty (UpperBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

pretty :: UpperBound a -> Doc ann Source #

prettyList :: [UpperBound a] -> Doc ann Source #

Typeable DefaultUni UpperBound Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

type Rep (UpperBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

type Rep (UpperBound a) = D1 ('MetaData "UpperBound" "PlutusLedgerApi.V1.Interval" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'False) (C1 ('MetaCons "UpperBound" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Extended a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Closure)))

data LowerBound a Source #

The lower bound of an interval.

Constructors

LowerBound (Extended a) Closure 

Instances

Instances details
Functor LowerBound Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

fmap :: (a -> b) -> LowerBound a -> LowerBound b Source #

(Typeable DefaultUni a, Lift DefaultUni (Extended a)) => Lift DefaultUni (LowerBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Generic (LowerBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Associated Types

type Rep (LowerBound a) :: Type -> Type Source #

Methods

from :: LowerBound a -> Rep (LowerBound a) x Source #

to :: Rep (LowerBound a) x -> LowerBound a Source #

Show a => Show (LowerBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

NFData a => NFData (LowerBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

rnf :: LowerBound a -> () Source #

Eq a => Eq (LowerBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Ord a => Ord (LowerBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Eq a => Eq (LowerBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

(==) :: LowerBound a -> LowerBound a -> Bool Source #

FromData a => FromData (LowerBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

ToData a => ToData (LowerBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

UnsafeFromData a => UnsafeFromData (LowerBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Ord a => Ord (LowerBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Pretty a => Pretty (LowerBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

Methods

pretty :: LowerBound a -> Doc ann Source #

prettyList :: [LowerBound a] -> Doc ann Source #

Typeable DefaultUni LowerBound Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

type Rep (LowerBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

type Rep (LowerBound a) = D1 ('MetaData "LowerBound" "PlutusLedgerApi.V1.Interval" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'False) (C1 ('MetaCons "LowerBound" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Extended a)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Closure)))

always :: Interval a Source #

An Interval that covers every slot.

from :: a -> Interval a Source #

from a is an Interval that includes all values that are greater than or equal to a.

to :: a -> Interval a Source #

to a is an Interval that includes all values that are smaller than or equal to a.

Association maps

data Map k v Source #

A Map of key-value pairs.

Instances

Instances details
Lift DefaultUni [(k, v)] => Lift DefaultUni (Map k v) 
Instance details

Defined in PlutusTx.AssocMap

Methods

lift :: Map k v -> RTCompile DefaultUni fun (Term TyName Name DefaultUni fun ()) Source #

Foldable (Map k) 
Instance details

Defined in PlutusTx.AssocMap

Methods

foldMap :: Monoid m => (a -> m) -> Map k a -> m Source #

Functor (Map k) 
Instance details

Defined in PlutusTx.AssocMap

Methods

fmap :: (a -> b) -> Map k a -> Map k b Source #

Traversable (Map k) 
Instance details

Defined in PlutusTx.AssocMap

Methods

traverse :: Applicative f => (a -> f b) -> Map k a -> f (Map k b) Source #

(Data k, Data v) => Data (Map k v) 
Instance details

Defined in PlutusTx.AssocMap

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Map k v -> c (Map k v) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Map k v) Source #

toConstr :: Map k v -> Constr Source #

dataTypeOf :: Map k v -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Map k v)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Map k v)) Source #

gmapT :: (forall b. Data b => b -> b) -> Map k v -> Map k v Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Map k v -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Map k v -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Map k v -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Map k v -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Map k v -> m (Map k v) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Map k v -> m (Map k v) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Map k v -> m (Map k v) Source #

Generic (Map k v) 
Instance details

Defined in PlutusTx.AssocMap

Associated Types

type Rep (Map k v) :: Type -> Type Source #

Methods

from :: Map k v -> Rep (Map k v) x Source #

to :: Rep (Map k v) x -> Map k v Source #

(Show k, Show v) => Show (Map k v) 
Instance details

Defined in PlutusTx.AssocMap

Methods

showsPrec :: Int -> Map k v -> ShowS Source #

show :: Map k v -> String Source #

showList :: [Map k v] -> ShowS Source #

(NFData k, NFData v) => NFData (Map k v) 
Instance details

Defined in PlutusTx.AssocMap

Methods

rnf :: Map k v -> () Source #

(Eq k, Eq v) => Eq (Map k v) 
Instance details

Defined in PlutusTx.AssocMap

Methods

(==) :: Map k v -> Map k v -> Bool Source #

(/=) :: Map k v -> Map k v -> Bool Source #

(Eq k, Eq v) => Eq (Map k v) 
Instance details

Defined in PlutusTx.AssocMap

Methods

(==) :: Map k v -> Map k v -> Bool Source #

(FromData k, FromData v) => FromData (Map k v) 
Instance details

Defined in PlutusTx.AssocMap

(ToData k, ToData v) => ToData (Map k v) 
Instance details

Defined in PlutusTx.AssocMap

(UnsafeFromData k, UnsafeFromData v) => UnsafeFromData (Map k v) 
Instance details

Defined in PlutusTx.AssocMap

(Eq k, Semigroup v) => Monoid (Map k v) 
Instance details

Defined in PlutusTx.AssocMap

Methods

mempty :: Map k v Source #

(Ord k, Ord v) => Ord (Map k v) 
Instance details

Defined in PlutusTx.AssocMap

Methods

compare :: Map k v -> Map k v -> Ordering Source #

(<) :: Map k v -> Map k v -> Bool Source #

(<=) :: Map k v -> Map k v -> Bool Source #

(>) :: Map k v -> Map k v -> Bool Source #

(>=) :: Map k v -> Map k v -> Bool Source #

max :: Map k v -> Map k v -> Map k v Source #

min :: Map k v -> Map k v -> Map k v Source #

(Eq k, Semigroup v) => Semigroup (Map k v) 
Instance details

Defined in PlutusTx.AssocMap

Methods

(<>) :: Map k v -> Map k v -> Map k v Source #

(Pretty k, Pretty v) => Pretty (Map k v) 
Instance details

Defined in PlutusTx.AssocMap

Methods

pretty :: Map k v -> Doc ann Source #

prettyList :: [Map k v] -> Doc ann Source #

Typeable DefaultUni Map 
Instance details

Defined in PlutusTx.AssocMap

type Rep (Map k v) 
Instance details

Defined in PlutusTx.AssocMap

type Rep (Map k v) = D1 ('MetaData "Map" "PlutusTx.AssocMap" "plutus-tx-1.0.0.0.0.0.0.0.1-HW6CkQ9yInwAiH4hLEPMAF" 'True) (C1 ('MetaCons "Map" 'PrefixI 'True) (S1 ('MetaSel ('Just "unMap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(k, v)])))

fromList :: [(k, v)] -> Map k v Source #

Newtypes and hash types

newtype ScriptHash Source #

Script runtime representation of a Digest SHA256.

Instances

Instances details
IsString ScriptHash Source #

from hex encoding

Instance details

Defined in PlutusLedgerApi.V1.Scripts

Generic ScriptHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Associated Types

type Rep ScriptHash :: Type -> Type Source #

Show ScriptHash Source #

using hex encoding

Instance details

Defined in PlutusLedgerApi.V1.Scripts

NFData ScriptHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Methods

rnf :: ScriptHash -> () Source #

Eq ScriptHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Ord ScriptHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Eq ScriptHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

FromData ScriptHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

ToData ScriptHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

UnsafeFromData ScriptHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Ord ScriptHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Pretty ScriptHash Source #

using hex encoding

Instance details

Defined in PlutusLedgerApi.V1.Scripts

Lift DefaultUni ScriptHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Typeable DefaultUni ScriptHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

type Rep ScriptHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

type Rep ScriptHash = D1 ('MetaData "ScriptHash" "PlutusLedgerApi.V1.Scripts" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'True) (C1 ('MetaCons "ScriptHash" 'PrefixI 'True) (S1 ('MetaSel ('Just "getScriptHash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinByteString)))

newtype Redeemer Source #

Redeemer is a wrapper around Data values that are used as redeemers in transaction inputs.

Constructors

Redeemer 

Instances

Instances details
Generic Redeemer Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Associated Types

type Rep Redeemer :: Type -> Type Source #

Show Redeemer Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

NFData Redeemer Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Methods

rnf :: Redeemer -> () Source #

Eq Redeemer Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Ord Redeemer Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Eq Redeemer Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Methods

(==) :: Redeemer -> Redeemer -> Bool Source #

FromData Redeemer Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

ToData Redeemer Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

UnsafeFromData Redeemer Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Pretty Redeemer Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Methods

pretty :: Redeemer -> Doc ann Source #

prettyList :: [Redeemer] -> Doc ann Source #

Serialise Redeemer Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Lift DefaultUni Redeemer Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Typeable DefaultUni Redeemer Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

type Rep Redeemer Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

type Rep Redeemer = D1 ('MetaData "Redeemer" "PlutusLedgerApi.V1.Scripts" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'True) (C1 ('MetaCons "Redeemer" 'PrefixI 'True) (S1 ('MetaSel ('Just "getRedeemer") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinData)))

newtype RedeemerHash Source #

Type representing the BLAKE2b-256 hash of a redeemer. 32 bytes.

This is a simple type without any validation, use with caution. You may want to add checks for its invariants. See the Shelley ledger specification.

Instances

Instances details
IsString RedeemerHash Source #

from hex encoding

Instance details

Defined in PlutusLedgerApi.V1.Scripts

Generic RedeemerHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Associated Types

type Rep RedeemerHash :: Type -> Type Source #

Show RedeemerHash Source #

using hex encoding

Instance details

Defined in PlutusLedgerApi.V1.Scripts

NFData RedeemerHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Methods

rnf :: RedeemerHash -> () Source #

Eq RedeemerHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Ord RedeemerHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Eq RedeemerHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

FromData RedeemerHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

ToData RedeemerHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

UnsafeFromData RedeemerHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Ord RedeemerHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Pretty RedeemerHash Source #

using hex encoding

Instance details

Defined in PlutusLedgerApi.V1.Scripts

Lift DefaultUni RedeemerHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Typeable DefaultUni RedeemerHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

type Rep RedeemerHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

type Rep RedeemerHash = D1 ('MetaData "RedeemerHash" "PlutusLedgerApi.V1.Scripts" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'True) (C1 ('MetaCons "RedeemerHash" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinByteString)))

newtype Datum Source #

Datum is a wrapper around Data values which are used as data in transaction outputs.

Constructors

Datum 

Instances

Instances details
Generic Datum Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Associated Types

type Rep Datum :: Type -> Type Source #

Methods

from :: Datum -> Rep Datum x Source #

to :: Rep Datum x -> Datum Source #

Show Datum Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

NFData Datum Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Methods

rnf :: Datum -> () Source #

Eq Datum Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Methods

(==) :: Datum -> Datum -> Bool Source #

(/=) :: Datum -> Datum -> Bool Source #

Ord Datum Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Eq Datum Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Methods

(==) :: Datum -> Datum -> Bool Source #

FromData Datum Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

ToData Datum Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

UnsafeFromData Datum Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Pretty Datum Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Methods

pretty :: Datum -> Doc ann Source #

prettyList :: [Datum] -> Doc ann Source #

Serialise Datum Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Lift DefaultUni Datum Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Typeable DefaultUni Datum Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

type Rep Datum Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

type Rep Datum = D1 ('MetaData "Datum" "PlutusLedgerApi.V1.Scripts" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'True) (C1 ('MetaCons "Datum" 'PrefixI 'True) (S1 ('MetaSel ('Just "getDatum") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinData)))

newtype DatumHash Source #

Script runtime representation of a Digest SHA256.

Instances

Instances details
IsString DatumHash Source #

from hex encoding

Instance details

Defined in PlutusLedgerApi.V1.Scripts

Generic DatumHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Associated Types

type Rep DatumHash :: Type -> Type Source #

Show DatumHash Source #

using hex encoding

Instance details

Defined in PlutusLedgerApi.V1.Scripts

NFData DatumHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Methods

rnf :: DatumHash -> () Source #

Eq DatumHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Ord DatumHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Eq DatumHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

FromData DatumHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

ToData DatumHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

UnsafeFromData DatumHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Ord DatumHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Pretty DatumHash Source #

using hex encoding

Instance details

Defined in PlutusLedgerApi.V1.Scripts

Methods

pretty :: DatumHash -> Doc ann Source #

prettyList :: [DatumHash] -> Doc ann Source #

Lift DefaultUni DatumHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

Typeable DefaultUni DatumHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

type Rep DatumHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

type Rep DatumHash = D1 ('MetaData "DatumHash" "PlutusLedgerApi.V1.Scripts" "plutus-ledger-api-1.0.0.0.0.0.0.0.1-62zX2BmwjkDFan4zfGhQ4n" 'True) (C1 ('MetaCons "DatumHash" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinByteString)))

Data

data Data Source #

A generic "data" type.

The main constructor Constr represents a datatype value in sum-of-products form: Constr i args represents a use of the ith constructor along with its arguments.

The other constructors are various primitives.

Constructors

Constr Integer [Data] 
Map [(Data, Data)] 
List [Data] 
I Integer 
B ByteString 

Instances

Instances details
Data Data 
Instance details

Defined in PlutusCore.Data

Methods

gfoldl :: (forall d b. Data0 d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Data -> c Data Source #

gunfold :: (forall b r. Data0 b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Data Source #

toConstr :: Data -> Constr Source #

dataTypeOf :: Data -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data0 d => c (t d)) -> Maybe (c Data) Source #

dataCast2 :: Typeable t => (forall d e. (Data0 d, Data0 e) => c (t d e)) -> Maybe (c Data) Source #

gmapT :: (forall b. Data0 b => b -> b) -> Data -> Data Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data0 d => d -> r') -> Data -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data0 d => d -> r') -> Data -> r Source #

gmapQ :: (forall d. Data0 d => d -> u) -> Data -> [u] Source #

gmapQi :: Int -> (forall d. Data0 d => d -> u) -> Data -> u Source #

gmapM :: Monad m => (forall d. Data0 d => d -> m d) -> Data -> m Data Source #

gmapMp :: MonadPlus m => (forall d. Data0 d => d -> m d) -> Data -> m Data Source #

gmapMo :: MonadPlus m => (forall d. Data0 d => d -> m d) -> Data -> m Data Source #

Generic Data 
Instance details

Defined in PlutusCore.Data

Associated Types

type Rep Data :: Type -> Type Source #

Methods

from :: Data -> Rep Data x Source #

to :: Rep Data x -> Data Source #

Show Data 
Instance details

Defined in PlutusCore.Data

NFData Data 
Instance details

Defined in PlutusCore.Data

Methods

rnf :: Data -> () Source #

Eq Data 
Instance details

Defined in PlutusCore.Data

Methods

(==) :: Data -> Data -> Bool Source #

(/=) :: Data -> Data -> Bool Source #

Ord Data 
Instance details

Defined in PlutusCore.Data

ExMemoryUsage Data 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Pretty Data 
Instance details

Defined in PlutusCore.Data

Methods

pretty :: Data -> Doc ann Source #

prettyList :: [Data] -> Doc ann Source #

Serialise Data 
Instance details

Defined in PlutusCore.Data

PrettyBy ConstConfig Data 
Instance details

Defined in PlutusCore.Pretty.PrettyConst

HasConstantIn DefaultUni term => MakeKnownIn DefaultUni term Data 
Instance details

Defined in PlutusCore.Default.Universe

Methods

makeKnown :: Data -> MakeKnownM term Source #

HasConstantIn DefaultUni term => ReadKnownIn DefaultUni term Data 
Instance details

Defined in PlutusCore.Default.Universe

Methods

readKnown :: term -> ReadKnownM Data Source #

KnownBuiltinTypeAst DefaultUni Data => KnownTypeAst DefaultUni Data 
Instance details

Defined in PlutusCore.Default.Universe

Associated Types

type IsBuiltin Data :: Bool Source #

type ToHoles Data :: [Hole] Source #

type ToBinds Data :: [Some TyNameRep] Source #

Methods

toTypeAst :: proxy Data -> Type TyName DefaultUni () Source #

Contains DefaultUni Data 
Instance details

Defined in PlutusCore.Default.Universe

type Rep Data 
Instance details

Defined in PlutusCore.Data

type IsBuiltin Data 
Instance details

Defined in PlutusCore.Default.Universe

type IsBuiltin Data = IsBuiltin (ElaborateBuiltin Data)
type ToBinds Data 
Instance details

Defined in PlutusCore.Default.Universe

type ToBinds Data = ToBinds (ElaborateBuiltin Data)
type ToHoles Data 
Instance details

Defined in PlutusCore.Default.Universe

type ToHoles Data = ToHoles (ElaborateBuiltin Data)

data BuiltinData Source #

A type corresponding to the Plutus Core builtin equivalent of Data.

The point of this type is to be an opaque equivalent of Data, so as to ensure that it is only used in ways that the compiler can handle.

As such, you should use this type in your on-chain code, and in any data structures that you want to be representable on-chain.

For off-chain usage, there are conversion functions builtinDataToData and dataToBuiltinData, but note that these will not work on-chain.

Constructors

BuiltinData Data 

Instances

Instances details
Data BuiltinData 
Instance details

Defined in PlutusTx.Builtins.Internal

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BuiltinData -> c BuiltinData Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BuiltinData Source #

toConstr :: BuiltinData -> Constr Source #

dataTypeOf :: BuiltinData -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BuiltinData) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BuiltinData) Source #

gmapT :: (forall b. Data b => b -> b) -> BuiltinData -> BuiltinData Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BuiltinData -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BuiltinData -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> BuiltinData -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> BuiltinData -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> BuiltinData -> m BuiltinData Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BuiltinData -> m BuiltinData Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BuiltinData -> m BuiltinData Source #

Show BuiltinData 
Instance details

Defined in PlutusTx.Builtins.Internal

NFData BuiltinData 
Instance details

Defined in PlutusTx.Builtins.Internal

Methods

rnf :: BuiltinData -> () Source #

Eq BuiltinData 
Instance details

Defined in PlutusTx.Builtins.Internal

Ord BuiltinData 
Instance details

Defined in PlutusTx.Builtins.Internal

Eq BuiltinData 
Instance details

Defined in PlutusTx.Eq

FromData BuiltinData 
Instance details

Defined in PlutusTx.IsData.Class

ToData BuiltinData 
Instance details

Defined in PlutusTx.IsData.Class

UnsafeFromData BuiltinData 
Instance details

Defined in PlutusTx.IsData.Class

Pretty BuiltinData 
Instance details

Defined in PlutusTx.Builtins.Internal

FromBuiltin BuiltinData BuiltinData 
Instance details

Defined in PlutusTx.Builtins.Class

ToBuiltin BuiltinData BuiltinData 
Instance details

Defined in PlutusTx.Builtins.Class

ToBuiltin [BuiltinData] (BuiltinList BuiltinData) 
Instance details

Defined in PlutusTx.Builtins.Class

ToBuiltin [(BuiltinData, BuiltinData)] (BuiltinList (BuiltinPair BuiltinData BuiltinData)) 
Instance details

Defined in PlutusTx.Builtins.Class

ToBuiltin (BuiltinData, BuiltinData) (BuiltinPair BuiltinData BuiltinData) 
Instance details

Defined in PlutusTx.Builtins.Class

class ToData a where Source #

A typeclass for types that can be converted to and from BuiltinData.

Methods

toBuiltinData :: a -> BuiltinData Source #

Convert a value to BuiltinData.

Instances

Instances details
ToData Void 
Instance details

Defined in PlutusTx.IsData.Class

ToData Address Source # 
Instance details

Defined in PlutusLedgerApi.V1.Address

ToData LedgerBytes Source # 
Instance details

Defined in PlutusLedgerApi.V1.Bytes

ToData ScriptContext Source # 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

ToData ScriptPurpose Source # 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

ToData TxInInfo Source # 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

ToData TxInfo Source # 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

ToData Credential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

ToData StakingCredential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

ToData PubKeyHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Crypto

ToData DCert Source # 
Instance details

Defined in PlutusLedgerApi.V1.DCert

ToData Datum Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

ToData DatumHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

ToData Redeemer Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

ToData RedeemerHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

ToData ScriptHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

ToData DiffMilliSeconds Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

ToData POSIXTime Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

ToData TxId Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

ToData TxOut Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

ToData TxOutRef Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

ToData AssetClass Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

ToData CurrencySymbol Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

ToData TokenName Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

ToData Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

ToData ScriptContext Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

ToData TxInInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

ToData TxInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

ToData OutputDatum Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

ToData TxOut Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

ToData BuiltinByteString 
Instance details

Defined in PlutusTx.IsData.Class

ToData BuiltinData 
Instance details

Defined in PlutusTx.IsData.Class

ToData Rational 
Instance details

Defined in PlutusTx.Ratio

ToData Integer 
Instance details

Defined in PlutusTx.IsData.Class

(TypeError ('Text "Int is not supported, use Integer instead") :: Constraint) => ToData Int 
Instance details

Defined in PlutusTx.IsData.Class

ToData a => ToData (Extended a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

ToData a => ToData (Interval a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

ToData a => ToData (LowerBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

ToData a => ToData (UpperBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

ToData a => ToData [a] 
Instance details

Defined in PlutusTx.IsData.Class

(ToData k, ToData v) => ToData (Map k v) 
Instance details

Defined in PlutusTx.AssocMap

class FromData a where Source #

Methods

fromBuiltinData :: BuiltinData -> Maybe a Source #

Convert a value from BuiltinData, returning Nothing if this fails.

Instances

Instances details
FromData Void 
Instance details

Defined in PlutusTx.IsData.Class

FromData Address Source # 
Instance details

Defined in PlutusLedgerApi.V1.Address

FromData LedgerBytes Source # 
Instance details

Defined in PlutusLedgerApi.V1.Bytes

FromData ScriptContext Source # 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

FromData ScriptPurpose Source # 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

FromData TxInInfo Source # 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

FromData TxInfo Source # 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

FromData Credential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

FromData StakingCredential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

FromData PubKeyHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Crypto

FromData DCert Source # 
Instance details

Defined in PlutusLedgerApi.V1.DCert

FromData Datum Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

FromData DatumHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

FromData Redeemer Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

FromData RedeemerHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

FromData ScriptHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

FromData DiffMilliSeconds Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

FromData POSIXTime Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

FromData TxId Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

FromData TxOut Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

FromData TxOutRef Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

FromData AssetClass Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

FromData CurrencySymbol Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

FromData TokenName Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

FromData Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

FromData ScriptContext Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

FromData TxInInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

FromData TxInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

FromData OutputDatum Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

FromData TxOut Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

FromData BuiltinByteString 
Instance details

Defined in PlutusTx.IsData.Class

FromData BuiltinData 
Instance details

Defined in PlutusTx.IsData.Class

FromData Rational 
Instance details

Defined in PlutusTx.Ratio

FromData Integer 
Instance details

Defined in PlutusTx.IsData.Class

(TypeError ('Text "Int is not supported, use Integer instead") :: Constraint) => FromData Int 
Instance details

Defined in PlutusTx.IsData.Class

FromData a => FromData (Extended a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

FromData a => FromData (Interval a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

FromData a => FromData (LowerBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

FromData a => FromData (UpperBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

FromData a => FromData [a] 
Instance details

Defined in PlutusTx.IsData.Class

(FromData k, FromData v) => FromData (Map k v) 
Instance details

Defined in PlutusTx.AssocMap

class UnsafeFromData a where Source #

Methods

unsafeFromBuiltinData :: BuiltinData -> a Source #

Convert a value from BuiltinData, calling error if this fails. This is typically much faster than fromBuiltinData.

When implementing this function, make sure to call unsafeFromBuiltinData rather than fromBuiltinData when converting substructures!

This is a simple type without any validation, use with caution.

Instances

Instances details
UnsafeFromData Void 
Instance details

Defined in PlutusTx.IsData.Class

UnsafeFromData Address Source # 
Instance details

Defined in PlutusLedgerApi.V1.Address

UnsafeFromData LedgerBytes Source # 
Instance details

Defined in PlutusLedgerApi.V1.Bytes

UnsafeFromData ScriptContext Source # 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

UnsafeFromData ScriptPurpose Source # 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

UnsafeFromData TxInInfo Source # 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

UnsafeFromData TxInfo Source # 
Instance details

Defined in PlutusLedgerApi.V1.Contexts

UnsafeFromData Credential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

UnsafeFromData StakingCredential Source # 
Instance details

Defined in PlutusLedgerApi.V1.Credential

UnsafeFromData PubKeyHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Crypto

UnsafeFromData DCert Source # 
Instance details

Defined in PlutusLedgerApi.V1.DCert

UnsafeFromData Datum Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

UnsafeFromData DatumHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

UnsafeFromData Redeemer Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

UnsafeFromData RedeemerHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

UnsafeFromData ScriptHash Source # 
Instance details

Defined in PlutusLedgerApi.V1.Scripts

UnsafeFromData DiffMilliSeconds Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

UnsafeFromData POSIXTime Source # 
Instance details

Defined in PlutusLedgerApi.V1.Time

UnsafeFromData TxId Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

UnsafeFromData TxOut Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

UnsafeFromData TxOutRef Source # 
Instance details

Defined in PlutusLedgerApi.V1.Tx

UnsafeFromData AssetClass Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

UnsafeFromData CurrencySymbol Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

UnsafeFromData TokenName Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

UnsafeFromData Value Source # 
Instance details

Defined in PlutusLedgerApi.V1.Value

UnsafeFromData ScriptContext Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

UnsafeFromData TxInInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

UnsafeFromData TxInfo Source # 
Instance details

Defined in PlutusLedgerApi.V2.Contexts

UnsafeFromData OutputDatum Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

UnsafeFromData TxOut Source # 
Instance details

Defined in PlutusLedgerApi.V2.Tx

UnsafeFromData BuiltinByteString 
Instance details

Defined in PlutusTx.IsData.Class

UnsafeFromData BuiltinData 
Instance details

Defined in PlutusTx.IsData.Class

UnsafeFromData Rational 
Instance details

Defined in PlutusTx.Ratio

UnsafeFromData Integer 
Instance details

Defined in PlutusTx.IsData.Class

(TypeError ('Text "Int is not supported, use Integer instead") :: Constraint) => UnsafeFromData Int 
Instance details

Defined in PlutusTx.IsData.Class

UnsafeFromData a => UnsafeFromData (Extended a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

UnsafeFromData a => UnsafeFromData (Interval a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

UnsafeFromData a => UnsafeFromData (LowerBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

UnsafeFromData a => UnsafeFromData (UpperBound a) Source # 
Instance details

Defined in PlutusLedgerApi.V1.Interval

UnsafeFromData a => UnsafeFromData [a] 
Instance details

Defined in PlutusTx.IsData.Class

(UnsafeFromData k, UnsafeFromData v) => UnsafeFromData (Map k v) 
Instance details

Defined in PlutusTx.AssocMap

toData :: ToData a => a -> Data Source #

Convert a value to Data.

fromData :: FromData a => Data -> Maybe a Source #

Convert a value from Data, returning Nothing if this fails.

dataToBuiltinData :: Data -> BuiltinData Source #

Convert a Data into a BuiltinData. Only works off-chain.

builtinDataToData :: BuiltinData -> Data Source #

Convert a BuiltinData into a Data. Only works off-chain.

Errors

data EvaluationError Source #

Errors that can be thrown when evaluating a Plutus script.

Constructors

CekError (CekEvaluationException NamedDeBruijn DefaultUni DefaultFun)

An error from the evaluator itself

DeBruijnError FreeVariableError

An error in the pre-evaluation step of converting from de-Bruijn indices

CodecError ScriptDecodeError

A deserialisation error

IncompatibleVersionError (Version ())

An error indicating a version tag that we don't support TODO: make this error more informative when we have more information about what went wrong

CostModelParameterMismatch

An error indicating that the cost model parameters didn't match what we expected