hydra-plutus
Safe HaskellSafe-Inferred
LanguageGHC2021

Hydra.Contract.Commit

Description

Representation of a UTxO when committed / deposited into the Hydra Head protocol. TODO: Rename/move this to Deposit

Synopsis

Documentation

data Commit Source #

A data type representing committed outputs on-chain. Besides recording the original TxOutRef, it also stores a binary representation compatible between on- and off-chain code to be hashed in the validators.

Constructors

Commit 

Fields

Instances

Instances details
Show Commit Source # 
Instance details

Defined in Hydra.Contract.Commit

Eq Commit Source # 
Instance details

Defined in Hydra.Contract.Commit

Ord Commit Source # 
Instance details

Defined in Hydra.Contract.Commit

Eq Commit Source # 
Instance details

Defined in Hydra.Contract.Commit

Methods

(==) :: Commit -> Commit -> Bool

FromData Commit Source # 
Instance details

Defined in Hydra.Contract.Commit

Methods

fromBuiltinData :: BuiltinData -> Maybe Commit

ToData Commit Source # 
Instance details

Defined in Hydra.Contract.Commit

Methods

toBuiltinData :: Commit -> BuiltinData

UnsafeFromData Commit Source # 
Instance details

Defined in Hydra.Contract.Commit

Methods

unsafeFromBuiltinData :: BuiltinData -> Commit

serializeCommit :: (TxIn, TxOut CtxUTxO) -> Maybe Commit Source #

Record an off-chain TxOut as a Commit on-chain. NOTE: Depends on the Serialise instance for Plutus' Data. NOTE: Reference scripts on the TxOut are NOT preserved. The Plutus TxOut representation used for serialization has no reference script field, so any inline reference script is silently dropped. Address, value and datum are preserved faithfully.

deserializeCommit :: Network -> Commit -> Maybe (TxIn, TxOut CtxUTxO) Source #

Decode an on-chain SerializedTxOut back into an off-chain TxOut. NOTE: Depends on the Serialise instance for Plutus' Data.