| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Cooked.Skeleton.Redeemer
Description
This module exposes the notion of redeemers used whenever a script in
invoked in a TxSkel.
Synopsis
- type RedeemerConstrs redeemer = (ToData redeemer, FromData redeemer, Show redeemer, PrettyCooked redeemer, Eq redeemer, Typeable redeemer)
- data TxSkelRedeemer where
- TxSkelRedeemer :: RedeemerConstrs redeemer => {..} -> TxSkelRedeemer
- txSkelRedeemerMReferenceInputL :: Lens' TxSkelRedeemer (Maybe TxOutRef)
- txSkelRedeemerReferenceInputAT :: AffineTraversal' TxSkelRedeemer TxOutRef
- txSkelRedeemerAutoFillL :: Lens' TxSkelRedeemer Bool
- txSkelRedeemerTypedAT :: (RedeemerConstrs a, RedeemerConstrs b) => AffineTraversal TxSkelRedeemer TxSkelRedeemer a b
- txSkelRedeemerBuiltinDataL :: Lens' TxSkelRedeemer BuiltinData
- someTxSkelRedeemer :: RedeemerConstrs redeemer => redeemer -> TxSkelRedeemer
- someTxSkelRedeemerNoAutoFill :: RedeemerConstrs redeemer => redeemer -> TxSkelRedeemer
- emptyTxSkelRedeemer :: TxSkelRedeemer
- emptyTxSkelRedeemerNoAutoFill :: TxSkelRedeemer
- fillReferenceInput :: TxOutRef -> TxSkelRedeemer -> TxSkelRedeemer
Type constraints
type RedeemerConstrs redeemer = (ToData redeemer, FromData redeemer, Show redeemer, PrettyCooked redeemer, Eq redeemer, Typeable redeemer) Source #
These are the constraints that must be satisfied by the inner content of a redeemer, that is the actual data that will be passed to the script as its redeemer during during validation
Data types
data TxSkelRedeemer where Source #
A bundle around a redeemer which allows to provide a reference input in which the script associated with the redeemer can be found
Constructors
| TxSkelRedeemer | |
Fields
| |
Instances
Optics
txSkelRedeemerMReferenceInputL :: Lens' TxSkelRedeemer (Maybe TxOutRef) Source #
Focuses on the possible reference input from a redeemer
txSkelRedeemerReferenceInputAT :: AffineTraversal' TxSkelRedeemer TxOutRef Source #
Focuses on the reference input form a redeemer
txSkelRedeemerAutoFillL :: Lens' TxSkelRedeemer Bool Source #
Sets or gets the autofill property from a redeemer
txSkelRedeemerTypedAT :: (RedeemerConstrs a, RedeemerConstrs b) => AffineTraversal TxSkelRedeemer TxSkelRedeemer a b Source #
Extracts, or sets, the typed redeemer of a TxSkelRedeemer. This is
attempted in two ways: first, we try to simply cast the content, and then, if
it fails, we serialise the content and then attempt to deserialise it to the
right type. This second case is specifically useful when the current content
is an BuiltinData itself directly, but it can also be used in the
cornercase when both types have compatible serialized representation.
txSkelRedeemerBuiltinDataL :: Lens' TxSkelRedeemer BuiltinData Source #
Extracts, or sets, the redeemer content as an BuiltinData
Smart constructors
someTxSkelRedeemer :: RedeemerConstrs redeemer => redeemer -> TxSkelRedeemer Source #
Creates a TxSkelRedeemer from an inner content with no reference input
someTxSkelRedeemerNoAutoFill :: RedeemerConstrs redeemer => redeemer -> TxSkelRedeemer Source #
Creates a TxSkelRedeemer from an inner content with no reference input,
while not allowing it to be automatically assigned
emptyTxSkelRedeemer :: TxSkelRedeemer Source #
Creates a TxSkelRedeemer without an inner content nor a reference input
emptyTxSkelRedeemerNoAutoFill :: TxSkelRedeemer Source #
Creates a TxSkelRedeemer with no inner content and no reference input,
while dissallowing it to be automatically assinged
Utilities
fillReferenceInput :: TxOutRef -> TxSkelRedeemer -> TxSkelRedeemer Source #
Attaches a reference input to this TxSkelRedeemer when none is already
attached. Is meant to be used by the automated attachment process during
transaction generation.