| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Cooked.Attack.ValidityTampering
Description
This module defines an attack tampering on the validity interval of transactions.
Synopsis
- data ValidityTamperingParams b f k is = ValidityTamperingParams {}
- lowerExtendedValidityTamperingParams :: (Maybe Slot -> f (Maybe Slot)) -> ValidityTamperingParams (Maybe Slot) f A_Lens NoIx
- lowerStrictValidityTamperingParams :: (Slot -> f Slot) -> ValidityTamperingParams Slot f An_AffineTraversal NoIx
- upperExtendedValidityTamperingParams :: (Maybe Slot -> f (Maybe Slot)) -> ValidityTamperingParams (Maybe Slot) f A_Lens NoIx
- upperStrictValidityTamperingParams :: (Slot -> f Slot) -> ValidityTamperingParams Slot f An_AffineTraversal NoIx
- bothExtendedValidityTamperingParams :: (Maybe Slot -> f (Maybe Slot)) -> ValidityTamperingParams (Maybe Slot) f A_Traversal NoIx
- bothStrictValidityTamperingParams :: (Slot -> f Slot) -> ValidityTamperingParams Slot f A_Traversal NoIx
- intervalValidityTamperingParams :: (SlotRange -> f SlotRange) -> ValidityTamperingParams SlotRange f An_Iso NoIx
- newtype ValidityTamperingLabel = ValidityTamperingLabel SlotRange
- validityTamperingAttack :: (Members '[Tweak, NonDet] effs, Is k A_Traversal, Foldable f, Alternative f) => ValidityTamperingParams a f k is -> Sem effs SlotRange
Validity tampering params
data ValidityTamperingParams b f k is Source #
Parameters of the validity tampering attack.
Constructors
| ValidityTamperingParams | |
lowerExtendedValidityTamperingParams :: (Maybe Slot -> f (Maybe Slot)) -> ValidityTamperingParams (Maybe Slot) f A_Lens NoIx Source #
Modifies the extended (possibly infinite) lower bound of the validity interval with a given tampering function.
lowerStrictValidityTamperingParams :: (Slot -> f Slot) -> ValidityTamperingParams Slot f An_AffineTraversal NoIx Source #
Modifies the strict lower bound of the validity interval with a given tampering function, failing if it is infinite.
upperExtendedValidityTamperingParams :: (Maybe Slot -> f (Maybe Slot)) -> ValidityTamperingParams (Maybe Slot) f A_Lens NoIx Source #
Modifies the extended (possibly infinite) upper bound of the validity interval with a given tampering function.
upperStrictValidityTamperingParams :: (Slot -> f Slot) -> ValidityTamperingParams Slot f An_AffineTraversal NoIx Source #
Modifies the strict upper bound of the validity interval with a given tampering function, failing if it is infinite.
bothExtendedValidityTamperingParams :: (Maybe Slot -> f (Maybe Slot)) -> ValidityTamperingParams (Maybe Slot) f A_Traversal NoIx Source #
Modifies both the extended (possibly infinite) lower and upper bounds of the validity interval with a given tampering function.
bothStrictValidityTamperingParams :: (Slot -> f Slot) -> ValidityTamperingParams Slot f A_Traversal NoIx Source #
Modifies both the strict lower and upper bounds of the validity interval with a given tampering function, failing if both are infinite.
intervalValidityTamperingParams :: (SlotRange -> f SlotRange) -> ValidityTamperingParams SlotRange f An_Iso NoIx Source #
Modifies the full validity interval directly
Validity tampering label
newtype ValidityTamperingLabel Source #
A label added to a TxSkel on which a tweak tampering the validity
interval has been applied. The label contains the interval as it was before
being tampered with.
Constructors
| ValidityTamperingLabel SlotRange |
Instances
Validity tampering attack
validityTamperingAttack :: (Members '[Tweak, NonDet] effs, Is k A_Traversal, Foldable f, Alternative f) => ValidityTamperingParams a f k is -> Sem effs SlotRange Source #
The validity tampering attack attempts to tamper with the validity interval of a transaction following a given set of parameters. This returns the validity interval of the transaction before modification.