plutus-ledger-api-1.0.0.1: Interface to the Plutus ledger for the Cardano ledger.
Safe Haskell None
Language Haskell2010

Plutus.V1.Ledger.Contexts

Synopsis

Pending transactions and related types

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
Eq TxInfo Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

Show TxInfo Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

Generic TxInfo Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

Pretty TxInfo Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

ToData TxInfo Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

FromData TxInfo Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

UnsafeFromData TxInfo Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

Eq TxInfo Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

Lift DefaultUni TxInfo Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

Typeable DefaultUni TxInfo Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

type Rep TxInfo Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

data ScriptContext Source #

Instances

Instances details
Eq ScriptContext Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

Show ScriptContext Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

Generic ScriptContext Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

Pretty ScriptContext Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

ToData ScriptContext Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

FromData ScriptContext Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

UnsafeFromData ScriptContext Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

Eq ScriptContext Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

Lift DefaultUni ScriptContext Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

Typeable DefaultUni ScriptContext Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

type Rep ScriptContext Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

type Rep ScriptContext = D1 (' MetaData "ScriptContext" "Plutus.V1.Ledger.Contexts" "plutus-ledger-api-1.0.0.1-GlUFhIIE0LJGuJDDdHh5lQ" ' 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
Eq ScriptPurpose Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

Show ScriptPurpose Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

Generic ScriptPurpose Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

Pretty ScriptPurpose Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

ToData ScriptPurpose Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

FromData ScriptPurpose Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

UnsafeFromData ScriptPurpose Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

Eq ScriptPurpose Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

Lift DefaultUni ScriptPurpose Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

Typeable DefaultUni ScriptPurpose Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

type Rep ScriptPurpose Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

newtype TxId Source #

A transaction ID, using a SHA256 hash as the transaction id.

Instances

Instances details
Eq TxId Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

Ord TxId Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

Show TxId Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

IsString TxId Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

Generic TxId Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

Associated Types

type Rep TxId :: Type -> Type Source #

NFData TxId Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

Pretty TxId Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

ToData TxId Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

FromData TxId Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

UnsafeFromData TxId Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

Ord TxId Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

Eq TxId Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

Lift DefaultUni TxId Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

Typeable DefaultUni TxId Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

type Rep TxId Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

type Rep TxId = D1 (' MetaData "TxId" "Plutus.V1.Ledger.Tx" "plutus-ledger-api-1.0.0.1-GlUFhIIE0LJGuJDDdHh5lQ" ' True ) ( C1 (' MetaCons "TxId" ' PrefixI ' True ) ( S1 (' MetaSel (' Just "getTxId") ' NoSourceUnpackedness ' NoSourceStrictness ' DecidedLazy ) ( Rec0 BuiltinByteString )))

data TxOut Source #

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

Instances

Instances details
Eq TxOut Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

Show TxOut Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

Generic TxOut Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

NFData TxOut Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

Pretty TxOut Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

ToData TxOut Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

FromData TxOut Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

UnsafeFromData TxOut Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

Eq TxOut Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

Lift DefaultUni TxOut Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

Typeable DefaultUni TxOut Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

type Rep TxOut Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

data TxOutRef Source #

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

Constructors

TxOutRef

Fields

Instances

Instances details
Eq TxOutRef Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

Ord TxOutRef Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

Show TxOutRef Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

Generic TxOutRef Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

NFData TxOutRef Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

Pretty TxOutRef Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

ToData TxOutRef Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

FromData TxOutRef Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

UnsafeFromData TxOutRef Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

Eq TxOutRef Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

Lift DefaultUni TxOutRef Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

Typeable DefaultUni TxOutRef Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

type Rep TxOutRef Source #
Instance details

Defined in Plutus.V1.Ledger.Tx

type Rep TxOutRef = D1 (' MetaData "TxOutRef" "Plutus.V1.Ledger.Tx" "plutus-ledger-api-1.0.0.1-GlUFhIIE0LJGuJDDdHh5lQ" ' 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
Eq TxInInfo Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

Show TxInInfo Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

Generic TxInInfo Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

Pretty TxInInfo Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

ToData TxInInfo Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

FromData TxInInfo Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

UnsafeFromData TxInInfo Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

Eq TxInInfo Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

Lift DefaultUni TxInInfo Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

Typeable DefaultUni TxInInfo Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

type Rep TxInInfo Source #
Instance details

Defined in Plutus.V1.Ledger.Contexts

type Rep TxInInfo = D1 (' MetaData "TxInInfo" "Plutus.V1.Ledger.Contexts" "plutus-ledger-api-1.0.0.1-GlUFhIIE0LJGuJDDdHh5lQ" ' False ) ( C1 (' MetaCons "TxInInfo" ' PrefixI ' True ) ( S1 (' MetaSel (' Just "txInInfoOutRef") ' NoSourceUnpackedness ' NoSourceStrictness ' DecidedLazy ) ( Rec0 TxOutRef ) :*: S1 (' MetaSel (' Just "txInInfoResolved") ' NoSourceUnpackedness ' NoSourceStrictness ' DecidedLazy ) ( Rec0 TxOut )))

findOwnInput :: ScriptContext -> Maybe TxInInfo Source #

Find the input currently being validated.

findDatum :: DatumHash -> TxInfo -> Maybe Datum Source #

Find the data corresponding to a data hash, if there is one

findDatumHash :: Datum -> TxInfo -> Maybe DatumHash Source #

Find the hash of a datum, if it is part of the pending transaction's hashes

findContinuingOutputs :: ScriptContext -> [ Integer ] Source #

Finds all the outputs that pay to the same script address that we are currently spending from, if any.

Validator functions

pubKeyOutput :: TxOut -> Maybe PubKeyHash Source #

Get the public key hash that locks the transaction output, if any.

scriptOutputsAt :: ValidatorHash -> TxInfo -> [( DatumHash , Value )] Source #

Get the list of TxOut outputs of the pending transaction at a given script address.

pubKeyOutputsAt :: PubKeyHash -> TxInfo -> [ Value ] Source #

Get the values paid to a public key address by a pending transaction.

valueLockedBy :: TxInfo -> ValidatorHash -> Value Source #

Get the total value locked by the given validator in this transaction.

valuePaidTo :: TxInfo -> PubKeyHash -> Value Source #

Get the total value paid to a public key address by a pending transaction.

spendsOutput :: TxInfo -> TxId -> Integer -> Bool Source #

Check if the pending transaction spends a specific transaction output (identified by the hash of a transaction and an index into that transactions' outputs)

txSignedBy :: TxInfo -> PubKeyHash -> Bool Source #

Check if a transaction was signed by the given public key.

valueSpent :: TxInfo -> Value Source #

Get the total value of inputs spent by this transaction.

valueProduced :: TxInfo -> Value Source #

Get the total value of outputs produced by this transaction.

ownHashes :: ScriptContext -> ( ValidatorHash , DatumHash ) Source #

Get the validator and datum hashes of the output that is curently being validated

ownHash :: ScriptContext -> ValidatorHash Source #

Get the hash of the validator script that is currently being validated.