cooked-validators
Safe HaskellSafe-Inferred
LanguageHaskell2010

Cooked.Skeleton.Redeemer

Description

This module exposes the notion of redeemers used whenever a script in invoked in a TxSkel.

Synopsis

Documentation

data TxSkelRedeemer where Source #

A bundle around a redeemer which allows to provide a reference input in which the script associated with the redeemer can be found

Constructors

TxSkelRedeemer 

Fields

Instances

Instances details
Monoid DoubleSatDelta Source # 
Instance details

Defined in Cooked.Attack.DoubleSat

Monoid TxSkelMints Source # 
Instance details

Defined in Cooked.Skeleton.Mint

Semigroup DoubleSatDelta Source # 
Instance details

Defined in Cooked.Attack.DoubleSat

Semigroup TxSkelMints Source #

Combining TxSkelMints in a sensible way. In particular, this means that

Map.fromList [(pol, (red, NEMap.fromList [(tName, 1)]))]

and

Map.fromList [(pol, (red', NEMap.fromList [(tName, -1)]))]

will combine to become the empty TxSkelMints (and similar examples, where the values add up to zero, see the comment at the definition of addMint).

In every case, if you add mints with a different redeemer for the same policy, the redeemer used in the right argument takes precedence.

Instance details

Defined in Cooked.Skeleton.Mint

Show TxSkelRedeemer Source # 
Instance details

Defined in Cooked.Skeleton.Redeemer

Eq TxSkelRedeemer Source # 
Instance details

Defined in Cooked.Skeleton.Redeemer

type RedeemerConstrs redeemer = (ToData redeemer, Show redeemer, PrettyCooked redeemer, Eq redeemer, Typeable redeemer) Source #

These are the constraints that must be satisfied by the inner content of a redeemer, that is the actual data that will be passed to the script as its redeemer during during validation

withReferenceInput :: TxSkelRedeemer -> TxOutRef -> TxSkelRedeemer Source #

Attaches a reference input to a given TxSkelRedeemer. This should usually be of no use if option txOptAutoReferenceScripts is turned on, which is the case by default.

someTxSkelRedeemer :: RedeemerConstrs redeemer => redeemer -> TxSkelRedeemer Source #

Creates a TxSkelRedeemer from an inner content with no reference input

emptyTxSkelRedeemer :: TxSkelRedeemer Source #

Creates a TxSkelRedeemer without an inner content nor a reference input

getTypedRedeemer :: Typeable a => TxSkelRedeemer -> Maybe a Source #

Attempts to retrieve the content of a TxSkelRedeemer and cast it to a given type

setTypedRedeemer :: RedeemerConstrs redeemer => redeemer -> TxSkelRedeemer -> TxSkelRedeemer Source #

Changes the inner content of this TxSkelRedeemer, leaving the reference input unchanged. This operation is type-changing.

someTxSkelRedeemerNoAutoFill :: RedeemerConstrs redeemer => redeemer -> TxSkelRedeemer Source #

Creates a TxSkelRedeemer from an inner content with no reference input, while not allowing it to be automatically assigned

emptyTxSkelRedeemerNoAutoFill :: TxSkelRedeemer Source #

Creates a TxSkelRedeemer with no inner content and no reference input, while dissallowing it to be automatically assinged