Plutus.V1.Ledger.Time
Table des matières
📜 Overview
🔧 LANGUAGE PRAGMAS AND IMPORTS
🗄️ Data Types
⏱️ DiffMilliSeconds
⏲️ POSIXTime
📅 POSIXTimeRange
⚙️ Functions
↔️ fromMilliSeconds
🤝 Typeclass Instances
🏭 On-Chain Derivations
📚 Glossary
1 📜 Overview
Le module Plutus.V1.Ledger.Time
définit des types et fonctions pour travailler avec le temps dans le code Plutus on-chain :
DiffMilliSeconds : durée mesurée en millisecondes.
POSIXTime : temps absolu depuis l’époque Unix, en millisecondes.
POSIXTimeRange : alias pour
Interval POSIXTime
, représentant des fenêtres temporelles valides.
Inclut un utilitaire pour convertir entre DiffMilliSeconds
et POSIXTime
.
Tous les types dérivent les classes numériques, d’ordre et de sérialisation on-chain pour une utilisation dans les scripts.
2 🔧 LANGUAGE PRAGMAS AND IMPORTS
Pragmas pour la dérivation générique, les instances on-chain, la flexibilité, et l’optimisation des interfaces.
Imports :
Interval
pour les plages de tempsPlutusTx.Prelude
pour le code on-chain
3 🗄️ Data Types
3.1 ⏱️ DiffMilliSeconds
Représente une durée en millisecondes.
Dérive toutes les classes numériques standard et les classes de sérialisation on-chain via newtype.
3.2 ⏲️ POSIXTime
Représente le nombre de millisecondes écoulées depuis le 1er janvier 1970 à 00:00:00Z.
Opérations numériques pratiques et sérialisation on-chain.
Instance Pretty pour un affichage lisible.
3.3 📅 POSIXTimeRange
Alias pour les intervalles de temps, par exemple pour les fenêtres de validité des transactions.
4 ⚙️ Functions
4.1 ↔️ fromMilliSeconds
Convertit une durée DiffMilliSeconds
en un décalage POSIXTime
.
Cas d’utilisation : ajouter ou soustraire des durées à/des valeurs POSIXTime
dans les contrats.
5 🤝 Typeclass Instances
Eq, Ord, Show, Generic, NFData pour
DiffMilliSeconds
etPOSIXTime
Numérique (
Num
,Integral
, etc.) et Additive pour l’arithmétiqueSérialisation on-chain via
PlutusTx.ToData
,FromData
,UnsafeFromData
6 🏭 On-Chain Derivations
makeLift ''DiffMilliSeconds
makeLift ''POSIXTime
Permet l’inclusion de ces types dans le code PlutusTx grâce à Template Haskell.
7 📚 Glossary
DiffMilliSeconds : wrapper autour d’un entier représentant des millisecondes.
POSIXTime : millisecondes depuis l’époque UNIX.
POSIXTimeRange : intervalle de
POSIXTime
, utilisé pour les plages de validité.Interval : type générique d’intervalle issu de
Plutus.V1.Ledger.Interval
.MonoLocalBinds / UndecidableInstances : pragmas GHC permettant certaines définitions d’instances.
makeLift : fonction Template Haskell pour créer les instances
Lift
on-chain.AdditiveSemigroup / Monoid / Group : classes algébriques pour l’addition.
INLINABLE : pragma exposant la fonction à l’optimisation on-chain.
Last updated