Skip to main content

PTxInfo

info

The modifications in PTxInfo from V2 version are highlighted.

It includes all the information (details about inputs, outputs, fees, minting, certificates, and various associated data) about a transaction in which the script is included.

Definition:

export const PTxInfo = pstruct({
PTxInfo: {
inputs: list( PTxInInfo.type ),
refInputs: list( PTxInInfo.type ),
outputs: list( PTxOut.type ),
fee: int, // lovelaces
/** mint has no lovelaces entry */
mint: PValue.type,
certificates: list( PCertificate.type ),
withdrawals: map( PCredential.type, int ),
interval: PPOSIXTimeRange.type,
signatories: list( PPubKeyHash.type ),
redeemers: map( PScriptPurpose.type, data ),
datums: map( PDatumHash.type, data ),
id: PTxId.type,
votes: map( PVoter.type, map( PTxOutRef.type, PVote.type ) ),
proposalProcedures: list( PProposalProcedure.type ),
currentTreasury: PMaybe( int ).type,
treasuryDonation: PMaybe( int ).type,
}
});

Values implements all the properties defined on the TermList utility term.

inputs

List of transaction inputs. Each input representing an unspent transaction output (UTXO) consumed by the current transaction.

type: list( PTxInInfo.type )

elements's type:

refInputs

Reference inputs of the transaction. These UTXOs are referenced but not consumed by the transaction. This additional context/information maybe necessary for the contract logic but do not directly affect the transaction's output.

type: list( PTxInInfo.type )

elements's type:

outputs

List of transaction outputs. Each output represents a new UTXO created by the transaction.

type: list( PTxOut.type )

elements's type: PTxOut

fee

Transaction fee specified in lovelaces

type: TermInt

mint

Includes all tokens minted/burned in the transaction.

type: PValue.type

ADA entry

Being a value directly constructed by the node it always includes an entry for lovelaces

Since lovelaces can't be minted/burned the quantity will always be 0

certificates

List of certificates associated with the transaction.

type: list( PCertificate.type )

elements's type: PCertificate

withdrawals

Map of withdrawals made during the transaction

type: map( PCredential.type, int )

elements's types:

interval

Time interval during which the transaction is valid.

type: PPOSIXTimeRange.type

signatories

A list of public key hashes of the parties that have signed the transaction to validate it.

type: list( PPubKeyHash.type )

elements's type: PPubKeyHash

redeemers

Map of redeemers associated with specific script purposes

type: map( PScriptPurpose.type, data )

elements's types:

datums

Map of datums identified by their hashes

type: map( PDatumHash.type, data )

elements's types:

id

The unique identifier of the transaction, used to reference and track the specific transaction on the blockchain.

type: PTxId.type

votes

Map of votes cast in the transaction

type: map( PVoter.type, map( PTxOutRef.type, PVote.type ) )

elements's types:

proposalProcedures

List of proposal procedures included in the transaction

type: list( PProposalProcedure.type )

elements's types:

currentTreasury

(Optional) Current treasury amount

type: PMaybe( int ).type

treasuryDonation

(Optional) Treasury donation amount

type: PMaybe( int ).type