| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Cooked.Attack.RedeemerTampering
Description
This module provides an attack that modifies the redeemers of a TxSkel.
Synopsis
- data RedeemerTamperingParams a b f k is = RedeemerTamperingParams {
- rtpBranching :: Branching
- rtpOptic :: Optic' k is TxSkel TxSkelRedeemer
- rtpModification :: a -> f b
- rtpIndexPred :: Int -> Bool
- spendingRedeemerTamperingParams :: forall a b f. Branching -> (a -> f b) -> RedeemerTamperingParams a b f A_Traversal NoIx
- mintingRedeemerTamperingParams :: forall a b f. Branching -> (a -> f b) -> RedeemerTamperingParams a b f A_Traversal NoIx
- proposingRedeemerTamperingParams :: forall a b f. Branching -> (a -> f b) -> RedeemerTamperingParams a b f A_Traversal NoIx
- certifyingRedeemerTamperingParams :: forall a b f. Branching -> (a -> f b) -> RedeemerTamperingParams a b f A_Traversal NoIx
- withdrawingRedeemerTamperingParams :: forall a b f. Branching -> (a -> f b) -> RedeemerTamperingParams a b f A_Traversal NoIx
- allRedeemerTamperingParams :: forall a b f. Branching -> (a -> f b) -> RedeemerTamperingParams a b f A_Traversal NoIx
- newtype RedeemerTamperingLabel a = RedeemerTamperingLabel [a]
- 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]
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] |
Instances
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.