hydra-plutus-0.10.0: Hydra Plutus Contracts
Safe HaskellNone
LanguageHaskell98

Hydra.Contract.Commit

Description

The validator used to collect & open or abort a Head.

Synopsis

Documentation

data CommitRedeemer #

Constructors

ViaCollectCom 
ViaAbort 

Instances

Instances details
FromData CommitRedeemer # 
Instance details

Defined in Hydra.Contract.Commit

Methods

fromBuiltinData :: BuiltinData -> Maybe CommitRedeemer

ToData CommitRedeemer # 
Instance details

Defined in Hydra.Contract.Commit

Methods

toBuiltinData :: CommitRedeemer -> BuiltinData

UnsafeFromData CommitRedeemer # 
Instance details

Defined in Hydra.Contract.Commit

Methods

unsafeFromBuiltinData :: BuiltinData -> CommitRedeemer

data Commit #

A data type representing comitted 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
Eq Commit # 
Instance details

Defined in Hydra.Contract.Commit

Methods

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

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

Ord Commit # 
Instance details

Defined in Hydra.Contract.Commit

Show Commit # 
Instance details

Defined in Hydra.Contract.Commit

FromData Commit # 
Instance details

Defined in Hydra.Contract.Commit

Methods

fromBuiltinData :: BuiltinData -> Maybe Commit

ToData Commit # 
Instance details

Defined in Hydra.Contract.Commit

Methods

toBuiltinData :: Commit -> BuiltinData

UnsafeFromData Commit # 
Instance details

Defined in Hydra.Contract.Commit

Methods

unsafeFromBuiltinData :: BuiltinData -> Commit

Eq Commit # 
Instance details

Defined in Hydra.Contract.Commit

Methods

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

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

Record an off-chain TxOut as a Commit on-chain. NOTE: Depends on the Serialise instance for Plutus' Data.

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

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

type DatumType = (Party, Maybe Commit, CurrencySymbol) #

validator :: DatumType -> RedeemerType -> ScriptContext -> Bool #

The v_commit validator verifies that:

  • spent in a transaction also consuming a v_head output
  • ST is burned if the redeemer is ViaAbort
  • ST is present in the output if the redeemer is ViaCollectCom

validatorScript :: SerialisedScript #

validatorHash :: ScriptHash #

datum :: DatumType -> Datum #

redeemer :: RedeemerType -> Redeemer #