| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Cooked.Tweak.Labels
Description
This module provides tweaks operating on transaction labels
Synopsis
- labelled :: (MonadTweak m, LabelConstrs lbl) => lbl -> m a -> m a
- labelled' :: (MonadTweak m, LabelConstrs lbl) => lbl -> m a -> m ()
- addLabelTweak :: (MonadTweak m, LabelConstrs x) => x -> m ()
- removeLabelTweak :: (MonadTweak m, LabelConstrs x) => x -> m ()
- hasLabelTweak :: (MonadTweak m, LabelConstrs x) => x -> m Bool
- ensureLabelTweak :: (MonadTweak m, LabelConstrs x) => x -> m ()
- labelledT :: MonadTweak m => Text -> m a -> m a
- labelledT' :: MonadTweak m => Text -> m a -> m ()
Documentation
labelled :: (MonadTweak m, LabelConstrs lbl) => lbl -> m a -> m a Source #
Apply a tweak to a given transaction if it has a specific label. Fails if
it does not.This can be useful to apply a tweak to any transaction in a trace
using somewhere.
someEndpoint = do
...
validateTxSkel' txSkelTemplate
{ txSkelLabels =
[ "InitialMinting"
, "AuctionWorkflow"
, label SomeLabelType]
}
someTest = someEndpoint & eveywhere (labelled SomeLabelType someTweak)
anotherTest = someEndpoint & somewhere (labelled SomeLabelType someTweak)labelled' :: (MonadTweak m, LabelConstrs lbl) => lbl -> m a -> m () Source #
Similar to labelled, but does not fail when the label is not present,
thus making this tweak suitable to be used with
everywhere
addLabelTweak :: (MonadTweak m, LabelConstrs x) => x -> m () Source #
Adds a label to a TxSkel.
removeLabelTweak :: (MonadTweak m, LabelConstrs x) => x -> m () Source #
Removes a label from a TxSkel when possible, fails otherwise
hasLabelTweak :: (MonadTweak m, LabelConstrs x) => x -> m Bool Source #
Checks if a given label is present in the TxSkel
ensureLabelTweak :: (MonadTweak m, LabelConstrs x) => x -> m () Source #
Ensures a given label is present in the TxSkel
labelledT :: MonadTweak m => Text -> m a -> m a Source #
labelled' specialised to Text labels
someEndpoint = do
...
validateTxSkel' txSkelTemplate
{ txSkelLabels =
[ "InitialMinting"
, "AuctionWorkflow"
, "Spending"
, label SomeLabelType]
}
someTest = someEndpoint & somewhere (labelledT "Spending" doubleSatAttack)labelledT' :: MonadTweak m => Text -> m a -> m () Source #
labelledT specialised to Text labels