cooked-validators
Safe HaskellSafe-Inferred
LanguageHaskell2010

Cooked.Attack.RedeemerTampering

Description

This module provides an attack that modifies the redeemers of a TxSkel.

Synopsis

Tamper redeemer params

data RedeemerTamperingParams a b f k is Source #

Parameters of the tamper redeemer attack

Constructors

RedeemerTamperingParams 

Fields

spendingRedeemerTamperingParams :: forall a b f. Branching -> (a -> f b) -> RedeemerTamperingParams a b f A_Traversal NoIx Source #

A tamper redeemer params to apply a modification to all spending redeemers of type a.

mintingRedeemerTamperingParams :: forall a b f. Branching -> (a -> f b) -> RedeemerTamperingParams a b f A_Traversal NoIx Source #

A tamper redeemer params to apply a modification to all minting redeemers of type a.

proposingRedeemerTamperingParams :: forall a b f. Branching -> (a -> f b) -> RedeemerTamperingParams a b f A_Traversal NoIx Source #

A tamper redeemer params to apply a modification to all proposing redeemers of type a.

certifyingRedeemerTamperingParams :: forall a b f. Branching -> (a -> f b) -> RedeemerTamperingParams a b f A_Traversal NoIx Source #

A tamper redeemer params to apply a modification to all certifying redeemers of type a.

withdrawingRedeemerTamperingParams :: forall a b f. Branching -> (a -> f b) -> RedeemerTamperingParams a b f A_Traversal NoIx Source #

A tamper redeemer params to apply a modification to all withdrawing redeemers of type a.

allRedeemerTamperingParams :: forall a b f. Branching -> (a -> f b) -> RedeemerTamperingParams a b f A_Traversal NoIx Source #

A tamper redeemer params to apply a modification to all redeemers of type a.

Tamper redeemer label

newtype RedeemerTamperingLabel a Source #

A label added to a TxSkel on which a tweak tampering a redeemer has been applied. The label contains all the redeemer contents that have been modified, before the modification was applied.

Constructors

RedeemerTamperingLabel [a] 

Tamper redeemer attack

redeemerTamperingAttack :: forall a b f k is effs. (RedeemerConstrs a, Ord a, RedeemerConstrs b, Foldable f, Alternative f, Is k A_Traversal, Members '[NonDet, Tweak] effs) => RedeemerTamperingParams a b f k is -> Sem effs [a] Source #

Applies a modification to all redeemers of type a focused by a given optic. Returns the list of modified redeemers, as they were before being modified.