Safe Haskell | None |
---|---|
Language | Haskell98 |
Hydra.Contract.Commit
Description
The validator used to collect & open or abort a Head.
Synopsis
- data CommitRedeemer
- data Commit = Commit {
- input :: TxOutRef
- preSerializedOutput :: BuiltinByteString
- serializeCommit :: (TxIn, TxOut CtxUTxO) -> Maybe Commit
- deserializeCommit :: Network -> Commit -> Maybe (TxIn, TxOut CtxUTxO)
- type DatumType = (Party, Maybe Commit, CurrencySymbol)
- type RedeemerType = CommitRedeemer
- validator :: DatumType -> RedeemerType -> ScriptContext -> Bool
- compiledValidator :: CompiledCode ValidatorType
- validatorScript :: SerialisedScript
- validatorHash :: ScriptHash
- datum :: DatumType -> Datum
- redeemer :: RedeemerType -> Redeemer
Documentation
data CommitRedeemer #
Constructors
ViaCollectCom | |
ViaAbort |
Instances
FromData CommitRedeemer # | |
Defined in Hydra.Contract.Commit Methods fromBuiltinData :: BuiltinData -> Maybe CommitRedeemer | |
ToData CommitRedeemer # | |
Defined in Hydra.Contract.Commit Methods toBuiltinData :: CommitRedeemer -> BuiltinData | |
UnsafeFromData CommitRedeemer # | |
Defined in Hydra.Contract.Commit Methods unsafeFromBuiltinData :: BuiltinData -> CommitRedeemer |
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
Eq Commit # | |
Ord Commit # | |
Show Commit # | |
FromData Commit # | |
Defined in Hydra.Contract.Commit Methods fromBuiltinData :: BuiltinData -> Maybe Commit | |
ToData Commit # | |
Defined in Hydra.Contract.Commit Methods toBuiltinData :: Commit -> BuiltinData | |
UnsafeFromData Commit # | |
Defined in Hydra.Contract.Commit Methods unsafeFromBuiltinData :: BuiltinData -> Commit | |
Eq Commit # | |
Defined in Hydra.Contract.Commit |
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 RedeemerType = CommitRedeemer #
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
compiledValidator :: CompiledCode ValidatorType #
validatorScript :: SerialisedScript #
validatorHash :: ScriptHash #
redeemer :: RedeemerType -> Redeemer #