11-- | This module provides an attack that modifies the redeemers of a 'TxSkel'.
2- module Cooked.Attack.TamperRedeemer
2+ module Cooked.Attack.RedeemerTampering
33 ( -- * Tamper redeemer params
4- TamperRedeemerParams (.. ),
5- spendingTamperRedeemerParams ,
6- mintingTamperRedeemerParams ,
7- proposingTamperRedeemerParams ,
8- certifyingTamperRedeemerParams ,
9- withdrawingTamperRedeemerParams ,
10- allTamperRedeemerParams ,
4+ RedeemerTamperingParams (.. ),
5+ spendingRedeemerTamperingParams ,
6+ mintingRedeemerTamperingParams ,
7+ proposingRedeemerTamperingParams ,
8+ certifyingRedeemerTamperingParams ,
9+ withdrawingRedeemerTamperingParams ,
10+ allRedeemerTamperingParams ,
1111
1212 -- * Tamper redeemer label
13- TamperRedeemerLabel (.. ),
13+ RedeemerTamperingLabel (.. ),
1414
1515 -- * Tamper redeemer attack
16- tamperRedeemerAttack ,
16+ redeemerTamperingAttack ,
1717 )
1818where
1919
@@ -28,16 +28,16 @@ import Polysemy.NonDet
2828-- | A label added to a 'TxSkel' on which a tweak tampering a redeemer has been
2929-- applied. The label contains all the redeemer contents that have been
3030-- modified, before the modification was applied.
31- newtype TamperRedeemerLabel a = TamperRedeemerLabel [a ]
31+ newtype RedeemerTamperingLabel a = RedeemerTamperingLabel [a ]
3232 deriving (Show , Eq , Ord )
3333
34- instance (PrettyCooked a ) => PrettyCooked (TamperRedeemerLabel a ) where
35- prettyCookedOpt opts (TamperRedeemerLabel reds) =
34+ instance (PrettyCooked a ) => PrettyCooked (RedeemerTamperingLabel a ) where
35+ prettyCookedOpt opts (RedeemerTamperingLabel reds) =
3636 prettyItemize opts " Tamper Redeemers" " -" reds
3737
3838-- | Parameters of the tamper datum attack
39- data TamperRedeemerParams a b f k is
40- = TamperRedeemerParams
39+ data RedeemerTamperingParams a b f k is
40+ = RedeemerTamperingParams
4141 { -- | The branching policy to use when several redeemers are targeted
4242 trpBranching :: Branching ,
4343 -- | The optic to use to select eligible 'TxSkelRedeemer'
@@ -50,68 +50,68 @@ data TamperRedeemerParams a b f k is
5050
5151-- | A tamper redeemer params to apply a modification to all spending redeemers
5252-- of type @a@.
53- spendingTamperRedeemerParams ::
53+ spendingRedeemerTamperingParams ::
5454 forall a b f .
5555 Branching ->
5656 (a -> f b ) ->
57- TamperRedeemerParams a b f A_Traversal NoIx
58- spendingTamperRedeemerParams branching mChange =
59- TamperRedeemerParams branching txSkelSpendingRedeemersT mChange (const True )
57+ RedeemerTamperingParams a b f A_Traversal NoIx
58+ spendingRedeemerTamperingParams branching mChange =
59+ RedeemerTamperingParams branching txSkelSpendingRedeemersT mChange (const True )
6060
6161-- | A tamper redeemer params to apply a modification to all minting redeemers
6262-- of type @a@.
63- mintingTamperRedeemerParams ::
63+ mintingRedeemerTamperingParams ::
6464 forall a b f .
6565 Branching ->
6666 (a -> f b ) ->
67- TamperRedeemerParams a b f A_Traversal NoIx
68- mintingTamperRedeemerParams branching mChange =
69- TamperRedeemerParams branching (txSkelMintingRedeemedScriptsT % userRedeemerL) mChange (const True )
67+ RedeemerTamperingParams a b f A_Traversal NoIx
68+ mintingRedeemerTamperingParams branching mChange =
69+ RedeemerTamperingParams branching (txSkelMintingRedeemedScriptsT % userRedeemerL) mChange (const True )
7070
7171-- | A tamper redeemer params to apply a modification to all proposing redeemers
7272-- of type @a@.
73- proposingTamperRedeemerParams ::
73+ proposingRedeemerTamperingParams ::
7474 forall a b f .
7575 Branching ->
7676 (a -> f b ) ->
77- TamperRedeemerParams a b f A_Traversal NoIx
78- proposingTamperRedeemerParams branching mChange =
79- TamperRedeemerParams branching (txSkelProposingRedeemedScriptsT % userRedeemerL) mChange (const True )
77+ RedeemerTamperingParams a b f A_Traversal NoIx
78+ proposingRedeemerTamperingParams branching mChange =
79+ RedeemerTamperingParams branching (txSkelProposingRedeemedScriptsT % userRedeemerL) mChange (const True )
8080
8181-- | A tamper redeemer params to apply a modification to all withdrawing redeemers
8282-- of type @a@.
83- withdrawingTamperRedeemerParams ::
83+ withdrawingRedeemerTamperingParams ::
8484 forall a b f .
8585 Branching ->
8686 (a -> f b ) ->
87- TamperRedeemerParams a b f A_Traversal NoIx
88- withdrawingTamperRedeemerParams branching mChange =
89- TamperRedeemerParams branching (txSkelWithdrawingRedeemedUsersT % userEitherScriptP % userRedeemerL) mChange (const True )
87+ RedeemerTamperingParams a b f A_Traversal NoIx
88+ withdrawingRedeemerTamperingParams branching mChange =
89+ RedeemerTamperingParams branching (txSkelWithdrawingRedeemedUsersT % userEitherScriptP % userRedeemerL) mChange (const True )
9090
9191-- | A tamper redeemer params to apply a modification to all certifying redeemers
9292-- of type @a@.
93- certifyingTamperRedeemerParams ::
93+ certifyingRedeemerTamperingParams ::
9494 forall a b f .
9595 Branching ->
9696 (a -> f b ) ->
97- TamperRedeemerParams a b f A_Traversal NoIx
98- certifyingTamperRedeemerParams branching mChange =
99- TamperRedeemerParams branching (txSkelCertifyingRedeemedUsersT % userEitherScriptP % userRedeemerL) mChange (const True )
97+ RedeemerTamperingParams a b f A_Traversal NoIx
98+ certifyingRedeemerTamperingParams branching mChange =
99+ RedeemerTamperingParams branching (txSkelCertifyingRedeemedUsersT % userEitherScriptP % userRedeemerL) mChange (const True )
100100
101101-- | A tamper redeemer params to apply a modification to all redeemers of type
102102-- @a@.
103- allTamperRedeemerParams ::
103+ allRedeemerTamperingParams ::
104104 forall a b f .
105105 Branching ->
106106 (a -> f b ) ->
107- TamperRedeemerParams a b f A_Traversal NoIx
108- allTamperRedeemerParams branching mChange =
109- TamperRedeemerParams branching txSkelRedeemersT mChange (const True )
107+ RedeemerTamperingParams a b f A_Traversal NoIx
108+ allRedeemerTamperingParams branching mChange =
109+ RedeemerTamperingParams branching txSkelRedeemersT mChange (const True )
110110
111111-- | Applies a modification to all redeemers of type @a@ focused by a
112112-- given optic. Returns the list of modified redeemers, as they were before
113113-- being modified.
114- tamperRedeemerAttack ::
114+ redeemerTamperingAttack ::
115115 forall a b f k is effs .
116116 ( RedeemerConstrs a ,
117117 Ord a ,
@@ -121,11 +121,11 @@ tamperRedeemerAttack ::
121121 Is k A_Traversal ,
122122 Members '[NonDet , Tweak ] effs
123123 ) =>
124- TamperRedeemerParams a b f k is ->
124+ RedeemerTamperingParams a b f k is ->
125125 Sem effs [a ]
126- tamperRedeemerAttack TamperRedeemerParams {.. } = do
126+ redeemerTamperingAttack RedeemerTamperingParams {.. } = do
127127 modified <-
128128 modifyTweakFromParams $
129129 ModifyTweakParams trpBranching trpOptic txSkelRedeemerTypedAT trpModification trpIndexPred
130- addLabelTweak $ TamperRedeemerLabel modified
130+ addLabelTweak $ RedeemerTamperingLabel modified
131131 return modified
0 commit comments