Plutus.V1.Ledger.Tx
Table des matières
📜 Overview
🔧 LANGUAGE PRAGMAS AND IMPORTS
🗄️ Core Types
🆔 TxId
🏷️ ScriptTag & RedeemerPtr
💾 Redeemers
📮 TxOutRef
🎟️ TxInType & TxIn
📤 TxOut
⚙️ Utility Functions
🔗 inRef / inType
📜 inScripts
👤 pubKeyTxIn / scriptTxIn
🔍 pubKeyTxIns / scriptTxIns
🏷️ txOutDatum / txOutPubKey / txOutValidatorHash
🏠 outAddress / outValue
✅ isPubKeyOut / isPayToScriptOut
📦 pubKeyHashTxOut
🏭 On-Chain Derivations
📚 Glossary
1 📜 Overview
Le module Plutus.V1.Ledger.Tx
définit les types principaux de transaction et des utilitaires :
Identifiants et pointeurs de transaction (
TxId
,TxOutRef
)Représentations des entrées et sorties (
TxIn
,TxOut
)Pointeurs de redeemer et tags de script
Fonctions pratiques pour inspecter, filtrer et construire des valeurs
TxIn
/TxOut
Tous les types dérivent l’égalité on-chain et la sérialisation, et les lenses simplifient l’accès aux champs.
2 🔧 LANGUAGE PRAGMAS AND IMPORTS
Pragmas de dérivation, Template Haskell, et flexibilité.
Imports clés : Control.Lens
pour les lenses de champs, Data.Map
/Set
pour les maps/redeemers, et les modules cœur du ledger.
3 🗄️ Core Types
3.1 🆔 TxId
Représente un hash de transaction SHA256.
Dérive l’égalité on-chain et les instances Pretty et IsString via LedgerBytes
.
3.2 🏷️ ScriptTag & RedeemerPtr
ScriptTag : classe les types de scripts dans une transaction.
RedeemerPtr : pointe vers le nᵉ redeemer d’un type donné.
3.3 💾 Redeemers
Mappe les pointeurs (RedeemerPtr
) à leur valeur Redeemer
associée.
3.4 📮 TxOutRef
Identifie une sortie spécifique d’une transaction.
L’instance Pretty affiche au format txId!index
.
3.5 🎟️ TxInType & TxIn
TxInType décrit le mode de dépense d’une sortie (script vs clé publique).
TxIn associe une référence à une éventuelle donnée de script.
3.6 📤 TxOut
Représente une sortie verrouillée à une adresse, avec une valeur et éventuellement un hash de datum.
4 ⚙️ Utility Functions
4.1 🔗 inRef / inType
Lenses pour accéder ou modifier les champs txInRef
et txInType
dans TxIn
.
4.2 📜 inScripts
Extrait le triplet (Validator, Redeemer, Datum)
si l’entrée consomme une adresse de script.
4.3 👤 pubKeyTxIn / scriptTxIn
Constructeurs pour les entrées standard à clé publique ou à script.
4.4 🔍 pubKeyTxIns / scriptTxIns
Filtres sur un ensemble d’entrées (Set TxIn
) selon leur type (clé publique ou script).
4.5 🏷️ txOutDatum / txOutPubKey / txOutValidatorHash
Extrait du TxOut
: le datum (optionnel), la clé publique ou le hash du validateur.
4.6 🏠 outAddress / outValue
Lenses pour modifier les champs address
ou value
d’une sortie.
4.7 ✅ isPubKeyOut / isPayToScriptOut
Détecte si une sortie est verrouillée par une clé publique ou un script.
4.8 📦 pubKeyHashTxOut
Construit une sortie standard verrouillée par une clé publique, sans datum.
5 🏭 On-Chain Derivations
makeIsDataIndexed
etmakeLift
pour la sérialisation on-chain des types clés.
6 📚 Glossary
TxId : identifiant d’une transaction (SHA256)
TxOutRef : pointeur vers une sortie spécifique d’une transaction
TxInType : décrit comment une entrée dépense une sortie (script ou clé)
RedeemerPtr : index des redeemers par type de script
DatumHash : donnée optionnelle attachée à des sorties
Fold / Lens : optiques de
Control.Lens
pour interroger et modifierIsDataIndexed / makeLift : Template Haskell pour la sérialisation et l’intégration on-chain
Last updated