Skip to content

Commit a8529bd

Browse files
committed
renamings
1 parent 727d467 commit a8529bd

7 files changed

Lines changed: 97 additions & 108 deletions

File tree

cooked-validators.cabal

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ library
1515
Cooked
1616
Cooked.Attack
1717
Cooked.Attack.DatumHijacking
18+
Cooked.Attack.DatumTampering
1819
Cooked.Attack.PeerTampering
19-
Cooked.Attack.TamperDatum
20-
Cooked.Attack.TamperRedeemer
20+
Cooked.Attack.RedeemerTampering
2121
Cooked.Attack.TokenDuplication
2222
Cooked.Families
2323
Cooked.Ltl
@@ -171,8 +171,8 @@ test-suite spec
171171
Plutus.Withdrawals
172172
Spec.Attack
173173
Spec.Attack.DatumHijacking
174-
Spec.Attack.TamperDatum
175-
Spec.Attack.TamperRedeemer
174+
Spec.Attack.DatumTampering
175+
Spec.Attack.RedeemerTampering
176176
Spec.Attack.TokenDuplication
177177
Spec.Balancing
178178
Spec.BasicUsage

src/Cooked/Attack.hs

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,8 @@
1-
-- | Centralized module with automated attacks:
2-
--
3-
-- - Add extraneous tokens to transactions
4-
--
5-
-- - Hijack outputs and redirecting them to some address
6-
--
7-
-- - Duplicate minted tokens
8-
--
9-
-- - Tamper datum or redeemers
10-
--
11-
-- These attacks usually rely on applying specific tweaks from `Cooked.Tweak`
12-
-- at specific position in traces using Ltl formulae using `Cooked.Ltl`
1+
-- | Centralized module with automated attacks
132
module Cooked.Attack (module X) where
143

154
import Cooked.Attack.DatumHijacking as X
5+
import Cooked.Attack.DatumTampering as X
166
import Cooked.Attack.PeerTampering as X
17-
import Cooked.Attack.TamperDatum as X
18-
import Cooked.Attack.TamperRedeemer as X
7+
import Cooked.Attack.RedeemerTampering as X
198
import Cooked.Attack.TokenDuplication as X
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
-- | This module provides an attack that modifies the datums of a 'TxSkel'.
2-
module Cooked.Attack.TamperDatum
2+
module Cooked.Attack.DatumTampering
33
( -- * Tamper datum params
4-
TamperDatumParams (..),
5-
allTamperDatumParams,
6-
overloadTamperDatumParams,
4+
DatumTamperingParams (..),
5+
allDatumTamperingParams,
6+
overloadDatumTamperingParams,
77

88
-- * Tamper datum label
9-
TamperDatumLabel (..),
9+
DatumTamperingLabel (..),
1010

1111
-- * Tamper datum attack
12-
tamperDatumAttack,
12+
datumTamperingAttack,
1313
)
1414
where
1515

@@ -26,16 +26,16 @@ import Polysemy.NonDet
2626
-- | A label added to a 'TxSkel' on which a tweak tampering a datum has been
2727
-- applied. The label contains all the datum contents that have been
2828
-- modified, before the modification was applied.
29-
newtype TamperDatumLabel a = TamperDatumLabel [a]
29+
newtype DatumTamperingLabel a = DatumTamperingLabel [a]
3030
deriving (Show, Eq, Ord)
3131

32-
instance (PrettyCooked a) => PrettyCooked (TamperDatumLabel a) where
33-
prettyCookedOpt opts (TamperDatumLabel dats) =
32+
instance (PrettyCooked a) => PrettyCooked (DatumTamperingLabel a) where
33+
prettyCookedOpt opts (DatumTamperingLabel dats) =
3434
prettyItemize opts "Tampered Datums" "-" dats
3535

3636
-- | Parameters of the tamper datum attack
37-
data TamperDatumParams a b f k is
38-
= TamperDatumParams
37+
data DatumTamperingParams a b f k is
38+
= DatumTamperingParams
3939
{ -- | The branching policy to use when several datums are targeted
4040
tdpBranching :: Branching,
4141
-- | The optic to use to select eligible 'TxSkelOutDatum'
@@ -47,13 +47,13 @@ data TamperDatumParams a b f k is
4747
}
4848

4949
-- | A tamper datum params where all the datums are considered for targets
50-
allTamperDatumParams ::
50+
allDatumTamperingParams ::
5151
forall a b f.
5252
Branching ->
5353
(a -> f b) ->
54-
TamperDatumParams a b f A_Traversal '[]
55-
allTamperDatumParams branching modif =
56-
TamperDatumParams
54+
DatumTamperingParams a b f A_Traversal '[]
55+
allDatumTamperingParams branching modif =
56+
DatumTamperingParams
5757
branching
5858
(txSkelOutputsL % traversed % txSkelOutDatumL)
5959
modif
@@ -62,14 +62,14 @@ allTamperDatumParams branching modif =
6262
-- | A tamper datum params where the targeted datums are overloaded with dummy
6363
-- extra data @I 42@ at the end of their @BuiltinData@ representation. This only
6464
-- works if the root data is either a @Constr@ or a @List@.
65-
overloadTamperDatumParams ::
65+
overloadDatumTamperingParams ::
6666
forall k is.
6767
Branching ->
6868
Optic' k is TxSkel TxSkelOutDatum ->
6969
(Int -> Bool) ->
70-
TamperDatumParams PlutusTx.BuiltinData PlutusTx.BuiltinData Maybe k is
71-
overloadTamperDatumParams branching optic =
72-
TamperDatumParams
70+
DatumTamperingParams PlutusTx.BuiltinData PlutusTx.BuiltinData Maybe k is
71+
overloadDatumTamperingParams branching optic =
72+
DatumTamperingParams
7373
branching
7474
optic
7575
( \(PlutusTx.builtinDataToData -> bData) -> case bData of
@@ -81,7 +81,7 @@ overloadTamperDatumParams branching optic =
8181
-- | Applies a modification to all datums of type @a@ focused by a given
8282
-- optic. Returns the list of modified datums, as they were before being
8383
-- modified.
84-
tamperDatumAttack ::
84+
datumTamperingAttack ::
8585
forall a b f k is effs.
8686
( DatumConstrs a,
8787
Ord a,
@@ -91,11 +91,11 @@ tamperDatumAttack ::
9191
Is k A_Traversal,
9292
Members '[NonDet, Tweak] effs
9393
) =>
94-
TamperDatumParams a b f k is ->
94+
DatumTamperingParams a b f k is ->
9595
Sem effs [a]
96-
tamperDatumAttack TamperDatumParams {..} = do
96+
datumTamperingAttack DatumTamperingParams {..} = do
9797
modified <-
9898
modifyTweakFromParams $
9999
ModifyTweakParams tdpBranching tdpOptic txSkelOutDatumTypedAT tdpModification tdpIndexPred
100-
addLabelTweak $ TamperDatumLabel modified
100+
addLabelTweak $ DatumTamperingLabel modified
101101
return modified
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
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
)
1818
where
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

tests/Spec/Attack.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
module Spec.Attack (tests) where
22

33
import Spec.Attack.DatumHijacking qualified as DatumHijacking
4-
import Spec.Attack.TamperDatum qualified as TampDat
5-
import Spec.Attack.TamperRedeemer qualified as TampRed
4+
import Spec.Attack.DatumTampering qualified as TampDat
5+
import Spec.Attack.RedeemerTampering qualified as TampRed
66
import Spec.Attack.TokenDuplication qualified as DupToken
77
import Test.Tasty
88

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
-- | Tests for 'Cooked.Attack.TamperDatum'.
2-
module Spec.Attack.TamperDatum where
1+
-- | Tests for 'Cooked.Attack.DatumTampering'.
2+
module Spec.Attack.DatumTampering where
33

44
import Cooked
55
import Data.Set qualified as Set
@@ -14,11 +14,11 @@ import Test.Tasty.HUnit (testCase, (@=?))
1414
alice :: Wallet
1515
alice = wallet 1
1616

17-
tamperDatumAttackTest :: TestTree
18-
tamperDatumAttackTest =
19-
testCase "tamperDatumAttack" $
17+
datumTamperingAttackTest :: TestTree
18+
datumTamperingAttackTest =
19+
testCase "datumTamperingAttack" $
2020
[ txSkelTemplate
21-
{ txSkelLabels = Set.singleton $ TxSkelLabel $ TamperDatumLabel [(52 :: Integer, 53 :: Integer)],
21+
{ txSkelLabels = Set.singleton $ TxSkelLabel $ DatumTamperingLabel [(52 :: Integer, 53 :: Integer)],
2222
txSkelOutputs =
2323
[ alice `receives` VisibleHashedDatum (52 :: Integer, 54 :: Integer),
2424
alice `receives` Value (Script.lovelace 234),
@@ -35,8 +35,8 @@ tamperDatumAttackTest =
3535
alice `receives` VisibleHashedDatum (76 :: Integer, 77 :: Integer)
3636
]
3737
}
38-
( tamperDatumAttack $
39-
allTamperDatumParams @(Integer, Integer)
38+
( datumTamperingAttack $
39+
allDatumTamperingParams @(Integer, Integer)
4040
OneBranchForAllFoci
4141
(\(x, y) -> if y == 77 then Nothing else Just (x, y + 1))
4242
)
@@ -71,8 +71,8 @@ malformDatumAttackTest =
7171
]
7272
}
7373
)
74-
( tamperDatumAttack $
75-
allTamperDatumParams @(Integer, Integer)
74+
( datumTamperingAttack $
75+
allDatumTamperingParams @(Integer, Integer)
7676
OneBranchPerFoci
7777
( \(x, y) ->
7878
if y == 77
@@ -90,6 +90,6 @@ tests :: TestTree
9090
tests =
9191
testGroup
9292
"Tamper datum tweaks"
93-
[ tamperDatumAttackTest,
93+
[ datumTamperingAttackTest,
9494
malformDatumAttackTest
9595
]

0 commit comments

Comments
 (0)