Plutus.V2.Ledger.Tx
Table des matières
📜 Overview
🔧 LANGUAGE PRAGMAS & IMPORTS
🗄️ Core Types
🆔 TxId
🏷️ ScriptTag & RedeemerPtr
💾 Redeemers
📮 TxOutRef
🎯 OutputDatum
📤 TxOut
🎟️ TxInType & TxIn
⚙️ Utility Functions
🤝 Typeclass Instances
🏭 On-Chain Derivations
📚 Glossary
1 📜 Overview
Plutus.V2.Ledger.Tx
étend les types de transaction pour Plutus V2 :
Ajoute les datums inline et les scripts de référence sur les sorties.
Réutilise les types V1 et introduit
OutputDatum
.Fournit des constructeurs, des "lenses" et des helpers pour manipuler les entrées et sorties.
2 🔧 LANGUAGE PRAGMAS & IMPORTS
Utilise des pragmas pour la dérivation, la flexibilité, la généricité et la compatibilité on-chain. Importe les modules pour l’adresse, la crypto, les scripts, la valeur, ainsi que le support pour les helpers (lenses, Pretty, etc).
3 🗄️ Core Types
3.1 🆔 TxId
Re-exporté de V1 Représente le hash de la transaction : derive Eq, Ord, NFData, Eq on-chain, Pretty, IsString.
3.2 🏷️ ScriptTag & RedeemerPtr
Re-exporté de V1
Types pour tagger le but du script (ScriptTag
) et pour pointer dans les maps de redeemer (RedeemerPtr
, Redeemers
).
3.3 💾 Redeemers
Mappe chaque but de script et un index à son Redeemer.
3.4 📮 TxOutRef
Re-exporté de V1 Pointeur vers une sortie d’une transaction antérieure.
3.5 🎯 OutputDatum
Représente : aucun datum, un hash de datum, ou un datum inline (directement stocké dans l’UTXO). Implémente Eq on-chain et Pretty.
3.6 📤 TxOut
Extension du TxOut
V1, ajoute un datum inline et un éventuel hash de script de référence.
3.7 🎟️ TxInType & TxIn
Re-exporté de V1 Types d’entrée inchangés, supportent les scripts ou les clés publiques.
4 ⚙️ Utility Functions
inRef / inType : lenses pour accéder à la référence et au type d’une entrée.
inScripts : extrait (validator, redeemer, datum) si l’entrée est de type
ConsumeScriptAddress
.pubKeyTxIn / scriptTxIn : constructeurs pour les entrées standard à clé publique ou script.
pubKeyTxIns / scriptTxIns : optics pour filtrer des ensembles d’entrées par type.
txOutPubKey / txOutValidatorHash : extrait l’éventuelle clé publique ou le hash du script de la sortie.
outAddress / outValue / outDatum / outReferenceScript : lenses pour accéder/modifier les champs de sortie.
isPubKeyOut / isPayToScriptOut : détecte si la sortie est verrouillée par une clé publique ou un script.
pubKeyHashTxOut : crée une sortie verrouillée par une clé publique (sans datum ni script de référence).
5 🤝 Typeclass Instances
Eq OutputDatum : égalité on-chain INLINABLE.
Pretty OutputDatum : rendu lisible des différentes formes de datum.
Eq TxOut : comparaison de tous les champs, y compris le datum inline et le script de référence.
6 🏭 On-Chain Derivations
Fournit les instances IsData et Lift pour la sérialisation des nouveaux types V2 (OutputDatum, TxOut).
7 📚 Glossary
OutputDatum : état du datum sur une sortie (aucun, hash, inline).
ReferenceScript : script on-chain optionnel rattaché à une sortie, pour la réutilisation.
Inline Datum : stocke le datum réel dans l’UTXO au lieu de référencer par hash.
Lens / Fold : optics (Control.Lens) pour l’accès/modification/filtrage des champs.
RedeemerPtr / Redeemers : pointeurs et map pour les redeemers, indexés par but du script.
ConsumeScriptAddress : type d’entrée qui inclut le validateur, le redeemer et le datum.
Last updated