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

PlutusLedgerApi.V3

Description

The interface to Plutus V3 for the ledger.

Synopsis

Scripts

type SerialisedScript = ShortByteString Source #

Scripts to the ledger are serialised bytestrings.

data ScriptForEvaluation Source #

A Plutus script ready to be evaluated on-chain, via evaluateScriptRestricting.

Instances

Instances details
Generic ScriptForEvaluation Source # 
Instance details

Defined in PlutusLedgerApi.Common.SerialisedScript

Associated Types

type Rep ScriptForEvaluationTypeType Source #

Show ScriptForEvaluation Source # 
Instance details

Defined in PlutusLedgerApi.Common.SerialisedScript

NFData ScriptForEvaluation Source # 
Instance details

Defined in PlutusLedgerApi.Common.SerialisedScript

Methods

rnfScriptForEvaluation → () Source #

Eq ScriptForEvaluation Source # 
Instance details

Defined in PlutusLedgerApi.Common.SerialisedScript

NoThunks ScriptForEvaluation Source # 
Instance details

Defined in PlutusLedgerApi.Common.SerialisedScript

type Rep ScriptForEvaluation Source # 
Instance details

Defined in PlutusLedgerApi.Common.SerialisedScript

type Rep ScriptForEvaluation = D1 ('MetaData "ScriptForEvaluation" "PlutusLedgerApi.Common.SerialisedScript" "plutus-ledger-api-1.36.0.0-inplace" 'False) (C1 ('MetaCons "UnsafeScriptForEvaluation" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SerialisedScript) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ScriptNamedDeBruijn)))

serialiseCompiledCode ∷ ∀ a. CompiledCode a → SerialisedScript Source #

Turns a program which was compiled using the 'PlutusTx' toolchain into a binary format that is understood by the network and can be stored on-chain.

serialiseUPLCProgram DeBruijn DefaultUni DefaultFun () → SerialisedScript Source #

Turns a program's AST (most likely manually constructed) into a binary format that is understood by the network and can be stored on-chain.

deserialiseScript Source #

Arguments

∷ ∀ m. MonadError ScriptDecodeError m 
MajorProtocolVersion

which major protocol version the script was submitted in.

SerialisedScript

the script to deserialise.

→ m ScriptForEvaluation 

The deserialization from a serialised script into a ScriptForEvaluation, ready to be evaluated on-chain. Called inside phase-1 validation (i.e., deserialisation error is a phase-1 error).

uncheckedDeserialiseUPLCSerialisedScriptProgram DeBruijn DefaultUni DefaultFun () Source #

Deserialises a SerialisedScript back into an AST. Does *not* do ledger-language-version-specific checks like for allowable builtins.

Running scripts

evaluateScriptRestricting Source #

Arguments

MajorProtocolVersion

Which protocol version to run the operation in

VerboseMode

Whether to produce log output

EvaluationContext

Includes the cost model to use for tallying up the execution costs

ExBudget

The resource budget which must not be exceeded during evaluation

ScriptForEvaluation

The script to evaluate

Data

The ScriptContext argument 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

MajorProtocolVersion

Which protocol version to run the operation in

VerboseMode

Whether to produce log output

EvaluationContext

Includes the cost model to use for tallying up the execution costs

ScriptForEvaluation

The script to evaluate

Data

The ScriptContext argument 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.

CIP-1694

newtype ColdCommitteeCredential Source #

Instances

Instances details
Generic ColdCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep ColdCommitteeCredentialTypeType Source #

Show ColdCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Eq ColdCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Ord ColdCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

HasBlueprintDefinition ColdCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Unroll ColdCommitteeCredential ∷ [Type] Source #

Eq ColdCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

FromData ColdCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

ToData ColdCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

UnsafeFromData ColdCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Pretty ColdCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

(HasSchemaDefinition PubKeyHash referencedTypes, HasSchemaDefinition ScriptHash referencedTypes) ⇒ HasBlueprintSchema ColdCommitteeCredential referencedTypes Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

schemaSchema referencedTypes Source #

Lift DefaultUni ColdCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Typeable DefaultUni ColdCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep ColdCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep ColdCommitteeCredential = D1 ('MetaData "ColdCommitteeCredential" "PlutusLedgerApi.V3.Contexts" "plutus-ledger-api-1.36.0.0-inplace" 'True) (C1 ('MetaCons "ColdCommitteeCredential" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Credential)))
type Unroll ColdCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

newtype HotCommitteeCredential Source #

Instances

Instances details
Generic HotCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep HotCommitteeCredentialTypeType Source #

Show HotCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Eq HotCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Ord HotCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

HasBlueprintDefinition HotCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Unroll HotCommitteeCredential ∷ [Type] Source #

Eq HotCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

FromData HotCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

ToData HotCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

UnsafeFromData HotCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Pretty HotCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

(HasSchemaDefinition PubKeyHash referencedTypes, HasSchemaDefinition ScriptHash referencedTypes) ⇒ HasBlueprintSchema HotCommitteeCredential referencedTypes Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

schemaSchema referencedTypes Source #

Lift DefaultUni HotCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Typeable DefaultUni HotCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep HotCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep HotCommitteeCredential = D1 ('MetaData "HotCommitteeCredential" "PlutusLedgerApi.V3.Contexts" "plutus-ledger-api-1.36.0.0-inplace" 'True) (C1 ('MetaCons "HotCommitteeCredential" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Credential)))
type Unroll HotCommitteeCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

newtype DRepCredential Source #

Instances

Instances details
Generic DRepCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep DRepCredentialTypeType Source #

Show DRepCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Eq DRepCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Ord DRepCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

HasBlueprintDefinition DRepCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Unroll DRepCredential ∷ [Type] Source #

Eq DRepCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

FromData DRepCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

ToData DRepCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

UnsafeFromData DRepCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Pretty DRepCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

(HasSchemaDefinition PubKeyHash referencedTypes, HasSchemaDefinition ScriptHash referencedTypes) ⇒ HasBlueprintSchema DRepCredential referencedTypes Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

schemaSchema referencedTypes Source #

Lift DefaultUni DRepCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Typeable DefaultUni DRepCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep DRepCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep DRepCredential = D1 ('MetaData "DRepCredential" "PlutusLedgerApi.V3.Contexts" "plutus-ledger-api-1.36.0.0-inplace" 'True) (C1 ('MetaCons "DRepCredential" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Credential)))
type Unroll DRepCredential Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

data DRep Source #

Instances

Instances details
Generic DRep Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep DRepTypeType Source #

Methods

fromDRepRep DRep x Source #

toRep DRep x → DRep Source #

Show DRep Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

showsPrecIntDRepShowS Source #

showDRepString Source #

showList ∷ [DRep] → ShowS Source #

Eq DRep Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

(==)DRepDRepBool Source #

(/=)DRepDRepBool Source #

Ord DRep Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

compareDRepDRepOrdering Source #

(<)DRepDRepBool Source #

(<=)DRepDRepBool Source #

(>)DRepDRepBool Source #

(>=)DRepDRepBool Source #

maxDRepDRepDRep Source #

minDRepDRepDRep Source #

HasBlueprintDefinition DRep Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Unroll DRep ∷ [Type] Source #

Eq DRep Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

(==)DRepDRepBool Source #

FromData DRep Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

ToData DRep Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

UnsafeFromData DRep Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Pretty DRep Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

prettyDRepDoc ann Source #

prettyList ∷ [DRep] → Doc ann Source #

HasSchemaDefinition DRepCredential referencedTypes ⇒ HasBlueprintSchema DRep referencedTypes Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

schemaSchema referencedTypes Source #

Lift DefaultUni DRep Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Typeable DefaultUni DRep Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep DRep Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep DRep = D1 ('MetaData "DRep" "PlutusLedgerApi.V3.Contexts" "plutus-ledger-api-1.36.0.0-inplace" 'False) (C1 ('MetaCons "DRep" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DRepCredential)) :+: (C1 ('MetaCons "DRepAlwaysAbstain" 'PrefixI 'False) (U1TypeType) :+: C1 ('MetaCons "DRepAlwaysNoConfidence" 'PrefixI 'False) (U1TypeType)))
type Unroll DRep Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

data Delegatee Source #

Instances

Instances details
Generic Delegatee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep DelegateeTypeType Source #

Show Delegatee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Eq Delegatee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Ord Delegatee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

HasBlueprintDefinition Delegatee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Unroll Delegatee ∷ [Type] Source #

Eq Delegatee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

(==)DelegateeDelegateeBool Source #

FromData Delegatee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

ToData Delegatee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

UnsafeFromData Delegatee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Pretty Delegatee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

prettyDelegateeDoc ann Source #

prettyList ∷ [Delegatee] → Doc ann Source #

(HasSchemaDefinition PubKeyHash referencedTypes, HasSchemaDefinition DRep referencedTypes) ⇒ HasBlueprintSchema Delegatee referencedTypes Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

schemaSchema referencedTypes Source #

Lift DefaultUni Delegatee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Typeable DefaultUni Delegatee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep Delegatee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Unroll Delegatee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

data TxCert Source #

Constructors

TxCertRegStaking Credential (Maybe Lovelace)

Register staking credential with an optional deposit amount

TxCertUnRegStaking Credential (Maybe Lovelace)

Un-Register staking credential with an optional refund amount

TxCertDelegStaking Credential Delegatee

Delegate staking credential to a Delegatee

TxCertRegDeleg Credential Delegatee Lovelace

Register and delegate staking credential to a Delegatee in one certificate. Note that deposit is mandatory.

TxCertRegDRep DRepCredential Lovelace

Register a DRep with a deposit value. The optional anchor is omitted.

TxCertUpdateDRep DRepCredential

Update a DRep. The optional anchor is omitted.

TxCertUnRegDRep DRepCredential Lovelace

UnRegister a DRep with mandatory refund value

TxCertPoolRegister

A digest of the PoolParams

Fields

TxCertPoolRetire PubKeyHash Integer

The retirement certificate and the Epoch in which the retirement will take place

TxCertAuthHotCommittee ColdCommitteeCredential HotCommitteeCredential

Authorize a Hot credential for a specific Committee member's cold credential

TxCertResignColdCommittee ColdCommitteeCredential 

Instances

Instances details
Generic TxCert Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep TxCertTypeType Source #

Methods

fromTxCertRep TxCert x Source #

toRep TxCert x → TxCert Source #

Show TxCert Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Eq TxCert Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

(==)TxCertTxCertBool Source #

(/=)TxCertTxCertBool Source #

Ord TxCert Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

HasBlueprintDefinition TxCert Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Unroll TxCert ∷ [Type] Source #

Eq TxCert Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

(==)TxCertTxCertBool Source #

FromData TxCert Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

ToData TxCert Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

UnsafeFromData TxCert Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Pretty TxCert Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

prettyTxCertDoc ann Source #

prettyList ∷ [TxCert] → Doc ann Source #

(HasSchemaDefinition Credential referencedTypes, HasSchemaDefinition (Maybe Lovelace) referencedTypes, HasSchemaDefinition Delegatee referencedTypes, HasSchemaDefinition Lovelace referencedTypes, HasSchemaDefinition DRepCredential referencedTypes, HasSchemaDefinition PubKeyHash referencedTypes, HasSchemaDefinition Integer referencedTypes, HasSchemaDefinition ColdCommitteeCredential referencedTypes, HasSchemaDefinition HotCommitteeCredential referencedTypes) ⇒ HasBlueprintSchema TxCert referencedTypes Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

schemaSchema referencedTypes Source #

Lift DefaultUni TxCert Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Typeable DefaultUni TxCert Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep TxCert Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep TxCert = D1 ('MetaData "TxCert" "PlutusLedgerApi.V3.Contexts" "plutus-ledger-api-1.36.0.0-inplace" 'False) (((C1 ('MetaCons "TxCertRegStaking" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Credential) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Lovelace))) :+: C1 ('MetaCons "TxCertUnRegStaking" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Credential) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Lovelace)))) :+: (C1 ('MetaCons "TxCertDelegStaking" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Credential) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Delegatee)) :+: (C1 ('MetaCons "TxCertRegDeleg" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Credential) :*: (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Delegatee) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Lovelace))) :+: C1 ('MetaCons "TxCertRegDRep" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DRepCredential) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Lovelace))))) :+: ((C1 ('MetaCons "TxCertUpdateDRep" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DRepCredential)) :+: (C1 ('MetaCons "TxCertUnRegDRep" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DRepCredential) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Lovelace)) :+: C1 ('MetaCons "TxCertPoolRegister" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PubKeyHash) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PubKeyHash)))) :+: (C1 ('MetaCons "TxCertPoolRetire" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PubKeyHash) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)) :+: (C1 ('MetaCons "TxCertAuthHotCommittee" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ColdCommitteeCredential) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 HotCommitteeCredential)) :+: C1 ('MetaCons "TxCertResignColdCommittee" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ColdCommitteeCredential))))))
type Unroll TxCert Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

data Voter Source #

Instances

Instances details
Generic Voter Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep VoterTypeType Source #

Methods

fromVoterRep Voter x Source #

toRep Voter x → Voter Source #

Show Voter Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Eq Voter Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

(==)VoterVoterBool Source #

(/=)VoterVoterBool Source #

Ord Voter Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

compareVoterVoterOrdering Source #

(<)VoterVoterBool Source #

(<=)VoterVoterBool Source #

(>)VoterVoterBool Source #

(>=)VoterVoterBool Source #

maxVoterVoterVoter Source #

minVoterVoterVoter Source #

HasBlueprintDefinition Voter Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Unroll Voter ∷ [Type] Source #

Eq Voter Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

(==)VoterVoterBool Source #

FromData Voter Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

ToData Voter Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

UnsafeFromData Voter Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Pretty Voter Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

prettyVoterDoc ann Source #

prettyList ∷ [Voter] → Doc ann Source #

(HasSchemaDefinition HotCommitteeCredential referencedTypes, HasSchemaDefinition DRepCredential referencedTypes, HasSchemaDefinition PubKeyHash referencedTypes) ⇒ HasBlueprintSchema Voter referencedTypes Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

schemaSchema referencedTypes Source #

Lift DefaultUni Voter Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Typeable DefaultUni Voter Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep Voter Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Unroll Voter Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

data Vote Source #

A vote. The optional anchor is omitted.

Constructors

VoteNo 
VoteYes 
Abstain 

Instances

Instances details
Generic Vote Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep VoteTypeType Source #

Methods

fromVoteRep Vote x Source #

toRep Vote x → Vote Source #

Show Vote Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

showsPrecIntVoteShowS Source #

showVoteString Source #

showList ∷ [Vote] → ShowS Source #

Eq Vote Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

(==)VoteVoteBool Source #

(/=)VoteVoteBool Source #

HasBlueprintDefinition Vote Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Unroll Vote ∷ [Type] Source #

Eq Vote Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

(==)VoteVoteBool Source #

FromData Vote Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

ToData Vote Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

UnsafeFromData Vote Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Pretty Vote Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

prettyVoteDoc ann Source #

prettyList ∷ [Vote] → Doc ann Source #

HasBlueprintSchema Vote referencedTypes Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

schemaSchema referencedTypes Source #

Lift DefaultUni Vote Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Typeable DefaultUni Vote Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep Vote Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep Vote = D1 ('MetaData "Vote" "PlutusLedgerApi.V3.Contexts" "plutus-ledger-api-1.36.0.0-inplace" 'False) (C1 ('MetaCons "VoteNo" 'PrefixI 'False) (U1TypeType) :+: (C1 ('MetaCons "VoteYes" 'PrefixI 'False) (U1TypeType) :+: C1 ('MetaCons "Abstain" 'PrefixI 'False) (U1TypeType)))
type Unroll Vote Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

data GovernanceActionId Source #

Similar to TxOutRef, but for GovActions

Instances

Instances details
Generic GovernanceActionId Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep GovernanceActionIdTypeType Source #

Show GovernanceActionId Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Eq GovernanceActionId Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Ord GovernanceActionId Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

HasBlueprintDefinition GovernanceActionId Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Unroll GovernanceActionId ∷ [Type] Source #

Eq GovernanceActionId Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

FromData GovernanceActionId Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

ToData GovernanceActionId Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

UnsafeFromData GovernanceActionId Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Pretty GovernanceActionId Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

(HasSchemaDefinition TxId referencedTypes, HasSchemaDefinition Integer referencedTypes) ⇒ HasBlueprintSchema GovernanceActionId referencedTypes Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

schemaSchema referencedTypes Source #

Lift DefaultUni GovernanceActionId Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Typeable DefaultUni GovernanceActionId Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep GovernanceActionId Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep GovernanceActionId = D1 ('MetaData "GovernanceActionId" "PlutusLedgerApi.V3.Contexts" "plutus-ledger-api-1.36.0.0-inplace" 'False) (C1 ('MetaCons "GovernanceActionId" 'PrefixI 'True) (S1 ('MetaSel ('Just "gaidTxId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TxId) :*: S1 ('MetaSel ('Just "gaidGovActionIx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)))
type Unroll GovernanceActionId Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

data Committee Source #

Constructors

Committee 

Fields

Instances

Instances details
Generic Committee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep CommitteeTypeType Source #

Show Committee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Eq Committee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Ord Committee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

HasBlueprintDefinition Committee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Unroll Committee ∷ [Type] Source #

FromData Committee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

ToData Committee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

UnsafeFromData Committee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Pretty Committee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

prettyCommitteeDoc ann Source #

prettyList ∷ [Committee] → Doc ann Source #

(HasSchemaDefinition (Map ColdCommitteeCredential Integer) referencedTypes, HasSchemaDefinition Rational referencedTypes) ⇒ HasBlueprintSchema Committee referencedTypes Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

schemaSchema referencedTypes Source #

Lift DefaultUni Committee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Typeable DefaultUni Committee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep Committee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep Committee = D1 ('MetaData "Committee" "PlutusLedgerApi.V3.Contexts" "plutus-ledger-api-1.36.0.0-inplace" 'False) (C1 ('MetaCons "Committee" 'PrefixI 'True) (S1 ('MetaSel ('Just "committeeMembers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map ColdCommitteeCredential Integer)) :*: S1 ('MetaSel ('Just "committeeQuorum") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rational)))
type Unroll Committee Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

newtype Constitution Source #

A constitution. The optional anchor is omitted.

Instances

Instances details
Generic Constitution Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep ConstitutionTypeType Source #

Show Constitution Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Eq Constitution Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Ord Constitution Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

HasBlueprintDefinition Constitution Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Unroll Constitution ∷ [Type] Source #

Eq Constitution Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

FromData Constitution Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

ToData Constitution Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

UnsafeFromData Constitution Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Pretty Constitution Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

prettyConstitutionDoc ann Source #

prettyList ∷ [Constitution] → Doc ann Source #

HasSchemaDefinition (Maybe ScriptHash) referencedTypes ⇒ HasBlueprintSchema Constitution referencedTypes Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

schemaSchema referencedTypes Source #

Lift DefaultUni Constitution Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Typeable DefaultUni Constitution Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep Constitution Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep Constitution = D1 ('MetaData "Constitution" "PlutusLedgerApi.V3.Contexts" "plutus-ledger-api-1.36.0.0-inplace" 'True) (C1 ('MetaCons "Constitution" 'PrefixI 'True) (S1 ('MetaSel ('Just "constitutionScript") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ScriptHash))))
type Unroll Constitution Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

data ProtocolVersion Source #

Constructors

ProtocolVersion 

Fields

Instances

Instances details
Generic ProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep ProtocolVersionTypeType Source #

Show ProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Eq ProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Ord ProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

HasBlueprintDefinition ProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Unroll ProtocolVersion ∷ [Type] Source #

Eq ProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

FromData ProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

ToData ProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

UnsafeFromData ProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Pretty ProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

HasSchemaDefinition Integer referencedTypes ⇒ HasBlueprintSchema ProtocolVersion referencedTypes Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

schemaSchema referencedTypes Source #

Lift DefaultUni ProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Typeable DefaultUni ProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep ProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep ProtocolVersion = D1 ('MetaData "ProtocolVersion" "PlutusLedgerApi.V3.Contexts" "plutus-ledger-api-1.36.0.0-inplace" 'False) (C1 ('MetaCons "ProtocolVersion" 'PrefixI 'True) (S1 ('MetaSel ('Just "pvMajor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer) :*: S1 ('MetaSel ('Just "pvMinor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)))
type Unroll ProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

data GovernanceAction Source #

Instances

Instances details
Generic GovernanceAction Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep GovernanceActionTypeType Source #

Show GovernanceAction Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Eq GovernanceAction Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Ord GovernanceAction Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

HasBlueprintDefinition GovernanceAction Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Unroll GovernanceAction ∷ [Type] Source #

FromData GovernanceAction Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

ToData GovernanceAction Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

UnsafeFromData GovernanceAction Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Pretty GovernanceAction Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

(HasSchemaDefinition (Maybe GovernanceActionId) referencedTypes, HasSchemaDefinition ChangedParameters referencedTypes, HasSchemaDefinition (Maybe ScriptHash) referencedTypes, HasSchemaDefinition ProtocolVersion referencedTypes, HasSchemaDefinition (Map Credential Lovelace) referencedTypes, HasSchemaDefinition [ColdCommitteeCredential] referencedTypes, HasSchemaDefinition (Map ColdCommitteeCredential Integer) referencedTypes, HasSchemaDefinition Rational referencedTypes, HasSchemaDefinition Constitution referencedTypes) ⇒ HasBlueprintSchema GovernanceAction referencedTypes Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

schemaSchema referencedTypes Source #

Lift DefaultUni GovernanceAction Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Typeable DefaultUni GovernanceAction Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep GovernanceAction Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep GovernanceAction = D1 ('MetaData "GovernanceAction" "PlutusLedgerApi.V3.Contexts" "plutus-ledger-api-1.36.0.0-inplace" 'False) ((C1 ('MetaCons "ParameterChange" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe GovernanceActionId)) :*: (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ChangedParameters) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ScriptHash)))) :+: (C1 ('MetaCons "HardForkInitiation" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe GovernanceActionId)) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProtocolVersion)) :+: C1 ('MetaCons "TreasuryWithdrawals" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map Credential Lovelace)) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ScriptHash))))) :+: ((C1 ('MetaCons "NoConfidence" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe GovernanceActionId))) :+: C1 ('MetaCons "UpdateCommittee" 'PrefixI 'False) ((S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe GovernanceActionId)) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ColdCommitteeCredential])) :*: (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map ColdCommitteeCredential Integer)) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Rational)))) :+: (C1 ('MetaCons "NewConstitution" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe GovernanceActionId)) :*: S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Constitution)) :+: C1 ('MetaCons "InfoAction" 'PrefixI 'False) (U1TypeType))))
type Unroll GovernanceAction Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

newtype ChangedParameters Source #

A Plutus Data object containing proposed parameter changes. The Data object contains a Map with one entry per changed parameter, from the parameter ID to the new value. Unchanged parameters are not included.

The mapping from parameter IDs to parameters can be found in conway.cddl.

Invariant: This map is non-empty, and the keys are stored in ascending order.

This Data object has the following format (in pseudocode):

ChangedParametersData = Map ChangedIdData ChangedManyValueData ChangedIdData = I Integer ChangedManyValueData = ChangedSingleValueData | List[ChangedSingleValueData...] -- ^ an arbitrary-length, heterogeneous (integer or ratio) list of values (to support sub-parameters)

ChangedSingleValueData = I Integer -- a proposed integer value | List[I Integer, I Integer] -- a proposed numerator,denominator (ratio value) -- ^ a 2-exact element list; *BE CAREFUL* because this can be alternatively (ambiguously) interpreted -- as a many-value data (sub-parameter) of two integer single-value data.

, where Map,I,List are the constructors of Data and Integer is the usual arbitrary-precision PlutusTx/Haskell Integer.

Instances

Instances details
Generic ChangedParameters Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep ChangedParametersTypeType Source #

Show ChangedParameters Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Eq ChangedParameters Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Ord ChangedParameters Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

HasBlueprintDefinition ChangedParameters Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Unroll ChangedParameters ∷ [Type] Source #

Eq ChangedParameters Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

FromData ChangedParameters Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

ToData ChangedParameters Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

UnsafeFromData ChangedParameters Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Pretty ChangedParameters Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

HasBlueprintSchema ChangedParameters referencedTypes Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

schemaSchema referencedTypes Source #

Lift DefaultUni ChangedParameters Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Typeable DefaultUni ChangedParameters Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep ChangedParameters Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep ChangedParameters = D1 ('MetaData "ChangedParameters" "PlutusLedgerApi.V3.Contexts" "plutus-ledger-api-1.36.0.0-inplace" 'True) (C1 ('MetaCons "ChangedParameters" 'PrefixI 'True) (S1 ('MetaSel ('Just "getChangedParameters") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinData)))
type Unroll ChangedParameters Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

data ProposalProcedure Source #

A proposal procedure. The optional anchor is omitted.

Instances

Instances details
Generic ProposalProcedure Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Rep ProposalProcedureTypeType Source #

Show ProposalProcedure Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Eq ProposalProcedure Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Ord ProposalProcedure Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

HasBlueprintDefinition ProposalProcedure Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Associated Types

type Unroll ProposalProcedure ∷ [Type] Source #

FromData ProposalProcedure Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

ToData ProposalProcedure Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

UnsafeFromData ProposalProcedure Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Pretty ProposalProcedure Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

(HasSchemaDefinition Lovelace referencedTypes, HasSchemaDefinition Credential referencedTypes, HasSchemaDefinition GovernanceAction referencedTypes) ⇒ HasBlueprintSchema ProposalProcedure referencedTypes Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Methods

schemaSchema referencedTypes Source #

Lift DefaultUni ProposalProcedure Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Typeable DefaultUni ProposalProcedure Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep ProposalProcedure Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

type Rep ProposalProcedure = D1 ('MetaData "ProposalProcedure" "PlutusLedgerApi.V3.Contexts" "plutus-ledger-api-1.36.0.0-inplace" 'False) (C1 ('MetaCons "ProposalProcedure" 'PrefixI 'True) (S1 ('MetaSel ('Just "ppDeposit") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Lovelace) :*: (S1 ('MetaSel ('Just "ppReturnAddr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Credential) :*: S1 ('MetaSel ('Just "ppGovernanceAction") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 GovernanceAction))))
type Unroll ProposalProcedure Source # 
Instance details

Defined in PlutusLedgerApi.V3.Contexts

Protocol version

newtype MajorProtocolVersion Source #

This represents the major component of the Cardano protocol version. The ledger can only supply the major component of the protocol version, not the minor component, and Plutus should only need to care about the major component anyway. This relies on careful understanding between us and the ledger as to what this means.

Instances

Instances details
Generic MajorProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.Common.ProtocolVersions

Associated Types

type Rep MajorProtocolVersionTypeType Source #

Show MajorProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.Common.ProtocolVersions

Eq MajorProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.Common.ProtocolVersions

Ord MajorProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.Common.ProtocolVersions

Pretty MajorProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.Common.ProtocolVersions

Serialise MajorProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.Common.ProtocolVersions

type Rep MajorProtocolVersion Source # 
Instance details

Defined in PlutusLedgerApi.Common.ProtocolVersions

type Rep MajorProtocolVersion = D1 ('MetaData "MajorProtocolVersion" "PlutusLedgerApi.Common.ProtocolVersions" "plutus-ledger-api-1.36.0.0-inplace" 'True) (C1 ('MetaCons "MajorProtocolVersion" 'PrefixI 'True) (S1 ('MetaSel ('Just "getMajorProtocolVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))

Verbose mode and log output

data VerboseMode Source #

A simple toggle indicating whether or not we should accumulate logs during script execution.

Constructors

Verbose

accumulate all traces

Quiet

don't accumulate anything

Instances

Instances details
Eq VerboseMode Source # 
Instance details

Defined in PlutusLedgerApi.Common.Eval

type LogOutput = [Text] Source #

The type of the executed script's accumulated log output: a list of Text.

It will be an empty list if the VerboseMode is set to Quiet.

Costing-related types

data ExBudget Source #

Constructors

ExBudget 

Instances

Instances details
FromJSON ExBudget 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

parseJSON ∷ Value → Parser ExBudget

parseJSONList ∷ Value → Parser [ExBudget]

omittedFieldMaybe ExBudget

ToJSON ExBudget 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

toJSONExBudget → Value

toEncodingExBudget → Encoding

toJSONList ∷ [ExBudget] → Value

toEncodingList ∷ [ExBudget] → Encoding

omitFieldExBudgetBool

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 ExBudgetTypeType Source #

Show ExBudget 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

NFData ExBudget 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

rnfExBudget → () 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

prettyExBudgetDoc ann Source #

prettyList ∷ [ExBudget] → Doc ann Source #

Serialise ExBudget 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

PrettyBy config ExBudget 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

prettyBy ∷ config → ExBudgetDoc ann Source #

prettyListBy ∷ config → [ExBudget] → Doc ann Source #

Lift ExBudget 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExBudget

Methods

liftQuote m ⇒ ExBudget → m Exp Source #

liftTyped ∷ ∀ (m ∷ TypeType). Quote m ⇒ ExBudgetCode 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.36.0.0-inplace" '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

Methods

parseJSON ∷ Value → Parser ExCPU

parseJSONList ∷ Value → Parser [ExCPU]

omittedFieldMaybe ExCPU

ToJSON ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Methods

toJSONExCPU → Value

toEncodingExCPU → Encoding

toJSONList ∷ [ExCPU] → Value

toEncodingList ∷ [ExCPU] → Encoding

omitFieldExCPUBool

Monoid ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Semigroup ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Methods

(<>)ExCPUExCPUExCPU Source #

sconcatNonEmpty ExCPUExCPU Source #

stimesIntegral b ⇒ b → ExCPUExCPU Source #

Bounded ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Generic ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Associated Types

type Rep ExCPUTypeType Source #

Methods

fromExCPURep ExCPU x Source #

toRep ExCPU x → ExCPU Source #

Num ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Read 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

rnfExCPU → () Source #

Eq ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Methods

(==)ExCPUExCPUBool Source #

(/=)ExCPUExCPUBool Source #

Ord ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Methods

compareExCPUExCPUOrdering Source #

(<)ExCPUExCPUBool Source #

(<=)ExCPUExCPUBool Source #

(>)ExCPUExCPUBool Source #

(>=)ExCPUExCPUBool Source #

maxExCPUExCPUExCPU Source #

minExCPUExCPUExCPU Source #

NoThunks ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Pretty ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Methods

prettyExCPUDoc 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 → ExCPUDoc ann Source #

prettyListBy ∷ config → [ExCPU] → Doc ann Source #

Lift ExCPU 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Methods

liftQuote m ⇒ ExCPU → m Exp Source #

liftTyped ∷ ∀ (m ∷ TypeType). Quote m ⇒ ExCPUCode 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.36.0.0-inplace" 'True) (C1 ('MetaCons "ExCPU" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe 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

Methods

parseJSON ∷ Value → Parser ExMemory

parseJSONList ∷ Value → Parser [ExMemory]

omittedFieldMaybe ExMemory

ToJSON ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Methods

toJSONExMemory → Value

toEncodingExMemory → Encoding

toJSONList ∷ [ExMemory] → Value

toEncodingList ∷ [ExMemory] → Encoding

omitFieldExMemoryBool

Monoid ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Semigroup ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Bounded ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Generic ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Associated Types

type Rep ExMemoryTypeType Source #

Num ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Read 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

rnfExMemory → () 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

Pretty ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Methods

prettyExMemoryDoc 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 → ExMemoryDoc ann Source #

prettyListBy ∷ config → [ExMemory] → Doc ann Source #

Lift ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

Methods

liftQuote m ⇒ ExMemory → m Exp Source #

liftTyped ∷ ∀ (m ∷ TypeType). Quote m ⇒ ExMemoryCode m ExMemory Source #

type Rep ExMemory 
Instance details

Defined in PlutusCore.Evaluation.Machine.ExMemory

type Rep ExMemory = D1 ('MetaData "ExMemory" "PlutusCore.Evaluation.Machine.ExMemory" "plutus-core-1.36.0.0-inplace" 'True) (C1 ('MetaCons "ExMemory" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CostingInteger)))

data SatInt Source #

Instances

Instances details
FromJSON SatInt 
Instance details

Defined in Data.SatInt

Methods

parseJSON ∷ Value → Parser SatInt

parseJSONList ∷ Value → Parser [SatInt]

omittedFieldMaybe SatInt

ToJSON SatInt 
Instance details

Defined in Data.SatInt

Methods

toJSONSatInt → Value

toEncodingSatInt → Encoding

toJSONList ∷ [SatInt] → Value

toEncodingList ∷ [SatInt] → Encoding

omitFieldSatIntBool

Bits SatInt 
Instance details

Defined in Data.SatInt

FiniteBits SatInt 
Instance details

Defined in Data.SatInt

Bounded SatInt 
Instance details

Defined in Data.SatInt

Generic SatInt 
Instance details

Defined in Data.SatInt

Associated Types

type Rep SatIntTypeType Source #

Methods

fromSatIntRep SatInt x Source #

toRep SatInt x → SatInt 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

Show SatInt 
Instance details

Defined in Data.SatInt

FromField SatInt 
Instance details

Defined in Data.SatInt

Methods

parseField ∷ Field → Parser SatInt

NFData SatInt 
Instance details

Defined in Data.SatInt

Methods

rnfSatInt → () Source #

Eq SatInt 
Instance details

Defined in Data.SatInt

Methods

(==)SatIntSatIntBool Source #

(/=)SatIntSatIntBool Source #

Ord SatInt 
Instance details

Defined in Data.SatInt

NoThunks SatInt 
Instance details

Defined in Data.SatInt

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

liftQuote m ⇒ SatInt → m Exp Source #

liftTyped ∷ ∀ (m ∷ TypeType). Quote m ⇒ SatIntCode m SatInt Source #

type Rep SatInt 
Instance details

Defined in Data.SatInt

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

fromSatIntNum a ⇒ SatInt → a Source #

An optimized version of fromIntegral . unSatInt.

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 being recomputed on every evaluation.

Different protocol versions may require different bundles of machine parameters, which allows us for example to tweak the shape of the costing function of a builtin, so that the builtin costs less. Currently this means that we have to create multiple DefaultMachineParameters per language version, which we put into a cache (represented by an association list) in order to avoid costly recomputation of machine parameters.

In order to get the appropriate DefaultMachineParameters at validation time we look it up in the cache using a semantics variant as a key. We compute the semantics variant from the protocol version using the stored function. Note that the semantics variant depends on the language version too, but the latter is known statically (because each language version has its own evaluation context), hence there's no reason to require it to be provided at runtime.

To say it differently, there's a matrix of semantics variants indexed by (LL, PV) pairs and we cache its particular row corresponding to the statically given LL in an EvaluationContext.

The reason why we associate a DefaultMachineParameters with a semantics variant rather than a protocol version are

  1. generally there are far more protocol versions than semantics variants supported by a specific language version, so we save on pointless duplication of bundles of machine parameters
  2. builtins don't know anything about protocol versions, only semantics variants. It is therefore more semantically precise to associate bundles of machine parameters with semantics variants than with protocol versions

Instances

Instances details
Generic EvaluationContext Source # 
Instance details

Defined in PlutusLedgerApi.Common.Eval

Associated Types

type Rep EvaluationContextTypeType Source #

NFData EvaluationContext Source # 
Instance details

Defined in PlutusLedgerApi.Common.Eval

Methods

rnfEvaluationContext → () 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.36.0.0-inplace" 'False) (C1 ('MetaCons "EvaluationContext" 'PrefixI 'True) (S1 ('MetaSel ('Just "_evalCtxLedgerLang") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 PlutusLedgerLanguage) :*: (S1 ('MetaSel ('Just "_evalCtxToSemVar") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (MajorProtocolVersionBuiltinSemanticsVariant DefaultFun)) :*: S1 ('MetaSel ('Just "_evalCtxMachParsCache") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [(BuiltinSemanticsVariant DefaultFun, DefaultMachineParameters)]))))

mkEvaluationContext Source #

Arguments

∷ (MonadError CostModelApplyError m, MonadWriter [CostModelApplyWarn] m) 
⇒ [Int64]

the (updated) cost model parameters of the protocol

→ m EvaluationContext 

Build the EvaluationContext.

The input is a list of cost model parameters (which are integer values) passed from the ledger.

IMPORTANT: the cost model parameters MUST appear in the correct order, matching the names in ParamName. If the parameters are supplied in the wrong order then script cost calculations will be incorrect.

IMPORTANT: The evaluation context of every Plutus version must be recreated upon a protocol update with the updated cost model parameters.

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]