{-# LANGUAGE TemplateHaskell #-}
module Hydra.Contract.Initial where
import PlutusLedgerApi.V3 (
CurrencySymbol,
Datum (..),
Redeemer (Redeemer),
ToData (toBuiltinData),
TxOutRef,
)
import PlutusTx qualified
type DatumType = CurrencySymbol
type RedeemerType = InitialRedeemer
data InitialRedeemer
= ViaAbort
| ViaCommit
{ RedeemerType -> [TxOutRef]
committedRefs :: [TxOutRef]
}
PlutusTx.unstableMakeIsData ''InitialRedeemer
datum :: DatumType -> Datum
datum :: DatumType -> Datum
datum DatumType
a = BuiltinData -> Datum
Datum (DatumType -> BuiltinData
forall a. ToData a => a -> BuiltinData
toBuiltinData DatumType
a)
redeemer :: RedeemerType -> Redeemer
redeemer :: RedeemerType -> Redeemer
redeemer RedeemerType
a = BuiltinData -> Redeemer
Redeemer (RedeemerType -> BuiltinData
forall a. ToData a => a -> BuiltinData
toBuiltinData RedeemerType
a)