cooked-validators
Safe HaskellSafe-Inferred
LanguageHaskell2010

Cooked.Tweak.Inputs

Description

This module provides some Tweaks that add or remove inputs and outputs from transactions. Some also operate on the minted value.

Synopsis

Documentation

ensureInputTweak :: Member Tweak effs => TxOutRef -> TxSkelRedeemer -> Sem effs (Maybe (TxOutRef, TxSkelRedeemer)) Source #

Ensure that a given TxOutRef is being spent with a given TxSkelRedeemer. The return value will be Just the added data, if anything changed.

addInputTweak :: Members '[Tweak, NonDet] effs => TxOutRef -> TxSkelRedeemer -> Sem effs () Source #

Add an input to a transaction. If the given TxOutRef is already being consumed by the transaction, fail.

removeInputTweak :: Member Tweak effs => (TxOutRef -> TxSkelRedeemer -> Bool) -> Sem effs [(TxOutRef, TxSkelRedeemer)] Source #

Remove transaction inputs according to a given predicate. The returned list contains all removed inputs.

modifySpendRedeemersOfTypeTweak :: forall a b effs. (RedeemerConstrs a, RedeemerConstrs b, Member Tweak effs) => (a -> Maybe b) -> Sem effs [TxSkelRedeemer] Source #

Applies an optional modification to all spend redeemers of type a. Returns the list of modified spending redemeers, as they were before being modified.