Plutus.V1.Ledger.Value

Table des matières

  1. 📜 Overview

  2. 🔧 LANGUAGE PRAGMAS AND IMPORTS

  3. 🗄️ Core Types

    • 💱 CurrencySymbol

    • 🏷️ TokenName

    • 🔖 AssetClass

    • 💰 Value

  4. ⚙️ Key Functions

    • 🪙 currencySymbol / mpsSymbol / currencyMPSHash

    • 🇦 adaSymbol / adaToken

    • 🎨 assetClass / assetClassValue / assetClassValueOf

    • 🔢 valueOf / symbols / singleton

    • 📚 unionWith / flattenValue

    • ⚖️ geq / gt / leq / lt

    • 🚫 isZero / split

  5. 🏭 On-Chain Derivations

  6. 📚 Glossary


1 📜 Overview

Le module Plutus.V1.Ledger.Value gère les montants multi-devises dans Plutus :

  • CurrencySymbol et TokenName pour identifier les tokens.

  • AssetClass comme paire symbole/nom pour un actif précis.

  • Value comme map imbriquée de symboles à noms de tokens vers des quantités entières.

  • Utilitaires pour construire, interroger, combiner et comparer des Value.


2 🔧 LANGUAGE PRAGMAS AND IMPORTS

Pragmas pour la dérivation, Template Haskell, et la flexibilité du code.

Imports principaux : structures de données, serialisation, Map associatif, préfixes PlutusTx, et modules de bytes/scripts.


3 🗄️ Core Types

3.1 💱 CurrencySymbol

Identifie une politique monétaire via son hash.


3.2 🏷️ TokenName

Nom d’un token sous une politique donnée, avec pretty-printing (UTF-8 ou hex).


3.3 🔖 AssetClass

Paire (CurrencySymbol, TokenName) pour définir un actif unique.


3.4 💰 Value

Représente des quantités de multiples actifs : map imbriquée des symboles vers les noms de tokens puis vers les quantités.


4 ⚙️ Key Functions

4.1 🪙 currencySymbol / mpsSymbol / currencyMPSHash

Construction et conversion entre les hash de politique monétaire et les symboles.


4.2 🇦 adaSymbol / adaToken

Constantes réservées pour la monnaie ADA native (représentation par bytestring vide).


4.3 🎨 assetClass / assetClassValue / assetClassValueOf

Créer un AssetClass, le transformer en Value, et interroger sa quantité.


4.4 🔢 valueOf / symbols / singleton

Interrogation élémentaire des quantités, liste de tous les symboles, ou construction d’une Value pour un seul actif.


4.5 📚 unionWith / flattenValue

Fusion de deux Value selon une fonction de combinaison, ou aplatir une Value en liste d’entrées non nulles.


4.6 ⚖️ geq / gt / leq / lt

Comparaisons d’ordre partiel sur les Value (les éléments manquants sont considérés comme zéro).


4.7 🚫 isZero / split

Test si une Value est vide, ou décomposition en parties négative et positive.


5 🏭 On-Chain Derivations

Utilisation de makeLift pour générer les instances Lift et permettre l’inclusion de ces types dans du code PlutusTx.


6 📚 Glossary

  • CurrencySymbol : hash identifiant une politique monétaire.

  • TokenName : label UTF-8 ou hex pour un token.

  • AssetClass : paire (symbole, nom) pour un actif unique.

  • Value : map de devises vers quantités de tokens.

  • unionWith : fusion point-à-point de deux Value.

  • split : séparation entre déficits et surplus dans une Value.

  • Partial order : comparaison où les absents sont zéro.

  • Flatten : transformation en liste de toutes les entrées non nulles.

  • ADA : la monnaie native de Cardano, symbole et token vides.


Last updated