plutus-script-utils-1.1.0.0: Helper/utility functions for writing Plutus scripts.
Safe HaskellNone
LanguageHaskell2010

Plutus.Script.Utils.V2.Scripts

Synopsis

Script data hashes

data Datum Source #

Datum is a wrapper around Data values which are used as data in transaction outputs.

Instances

Instances details
Eq Datum 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Methods

(==) :: Datum -> Datum -> Bool Source #

(/=) :: Datum -> Datum -> Bool Source #

Ord Datum 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Show Datum 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Generic Datum 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Associated Types

type Rep Datum :: Type -> Type Source #

Methods

from :: Datum -> Rep Datum x Source #

to :: Rep Datum x -> Datum Source #

NFData Datum 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Methods

rnf :: Datum -> () Source #

Pretty Datum 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Methods

pretty :: Datum -> Doc ann Source #

prettyList :: [Datum] -> Doc ann Source #

UnsafeFromData Datum 
Instance details

Defined in Plutus.V1.Ledger.Scripts

FromData Datum 
Instance details

Defined in Plutus.V1.Ledger.Scripts

ToData Datum 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Eq Datum 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Methods

(==) :: Datum -> Datum -> Bool Source #

Lift DefaultUni Datum 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Typeable DefaultUni Datum 
Instance details

Defined in Plutus.V1.Ledger.Scripts

type Rep Datum 
Instance details

Defined in Plutus.V1.Ledger.Scripts

type Rep Datum = D1 ('MetaData "Datum" "Plutus.V1.Ledger.Scripts" "plutus-ledger-api-1.0.0.1-EUjexvcAhXiGIaLon6olWb" 'True) (C1 ('MetaCons "Datum" 'PrefixI 'True) (S1 ('MetaSel ('Just "getDatum") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinData)))

data DatumHash Source #

Script runtime representation of a Digest SHA256.

Instances

Instances details
Eq DatumHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Ord DatumHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Show DatumHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

IsString DatumHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Generic DatumHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Associated Types

type Rep DatumHash :: Type -> Type Source #

NFData DatumHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Methods

rnf :: DatumHash -> () Source #

Pretty DatumHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Methods

pretty :: DatumHash -> Doc ann Source #

prettyList :: [DatumHash] -> Doc ann Source #

UnsafeFromData DatumHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

FromData DatumHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

ToData DatumHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Ord DatumHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Eq DatumHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Lift DefaultUni DatumHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Typeable DefaultUni DatumHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

type Rep DatumHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

type Rep DatumHash = D1 ('MetaData "DatumHash" "Plutus.V1.Ledger.Scripts" "plutus-ledger-api-1.0.0.1-EUjexvcAhXiGIaLon6olWb" 'True) (C1 ('MetaCons "DatumHash" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinByteString)))

data Redeemer Source #

Redeemer is a wrapper around Data values that are used as redeemers in transaction inputs.

Instances

Instances details
Eq Redeemer 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Ord Redeemer 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Show Redeemer 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Generic Redeemer 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Associated Types

type Rep Redeemer :: Type -> Type Source #

NFData Redeemer 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Methods

rnf :: Redeemer -> () Source #

Pretty Redeemer 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Methods

pretty :: Redeemer -> Doc ann Source #

prettyList :: [Redeemer] -> Doc ann Source #

UnsafeFromData Redeemer 
Instance details

Defined in Plutus.V1.Ledger.Scripts

FromData Redeemer 
Instance details

Defined in Plutus.V1.Ledger.Scripts

ToData Redeemer 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Eq Redeemer 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Methods

(==) :: Redeemer -> Redeemer -> Bool Source #

Lift DefaultUni Redeemer 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Typeable DefaultUni Redeemer 
Instance details

Defined in Plutus.V1.Ledger.Scripts

type Rep Redeemer 
Instance details

Defined in Plutus.V1.Ledger.Scripts

type Rep Redeemer = D1 ('MetaData "Redeemer" "Plutus.V1.Ledger.Scripts" "plutus-ledger-api-1.0.0.1-EUjexvcAhXiGIaLon6olWb" 'True) (C1 ('MetaCons "Redeemer" 'PrefixI 'True) (S1 ('MetaSel ('Just "getRedeemer") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinData)))

data RedeemerHash Source #

Script runtime representation of a Digest SHA256.

Instances

Instances details
Eq RedeemerHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Ord RedeemerHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Show RedeemerHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

IsString RedeemerHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Generic RedeemerHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Associated Types

type Rep RedeemerHash :: Type -> Type Source #

NFData RedeemerHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Methods

rnf :: RedeemerHash -> () Source #

Pretty RedeemerHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

UnsafeFromData RedeemerHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

FromData RedeemerHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

ToData RedeemerHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Ord RedeemerHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Eq RedeemerHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Lift DefaultUni RedeemerHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Typeable DefaultUni RedeemerHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

type Rep RedeemerHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

type Rep RedeemerHash = D1 ('MetaData "RedeemerHash" "Plutus.V1.Ledger.Scripts" "plutus-ledger-api-1.0.0.1-EUjexvcAhXiGIaLon6olWb" 'True) (C1 ('MetaCons "RedeemerHash" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinByteString)))

datumHash :: Datum -> DatumHash Source #

Hash a 'PV1.Datum builtin data.

Script hashes

data Validator Source #

Validator is a wrapper around Scripts which are used as validators in transaction outputs.

Instances

Instances details
Eq Validator 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Ord Validator 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Show Validator 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Generic Validator 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Associated Types

type Rep Validator :: Type -> Type Source #

NFData Validator 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Methods

rnf :: Validator -> () Source #

Pretty Validator 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Methods

pretty :: Validator -> Doc ann Source #

prettyList :: [Validator] -> Doc ann Source #

Serialise Validator 
Instance details

Defined in Plutus.V1.Ledger.Scripts

type Rep Validator 
Instance details

Defined in Plutus.V1.Ledger.Scripts

type Rep Validator = D1 ('MetaData "Validator" "Plutus.V1.Ledger.Scripts" "plutus-ledger-api-1.0.0.1-EUjexvcAhXiGIaLon6olWb" 'True) (C1 ('MetaCons "Validator" 'PrefixI 'True) (S1 ('MetaSel ('Just "getValidator") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Script)))

data ValidatorHash Source #

Script runtime representation of a Digest SHA256.

Instances

Instances details
Eq ValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Ord ValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Show ValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

IsString ValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Generic ValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Associated Types

type Rep ValidatorHash :: Type -> Type Source #

NFData ValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Methods

rnf :: ValidatorHash -> () Source #

Pretty ValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

UnsafeFromData ValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

FromData ValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

ToData ValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Ord ValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Eq ValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Lift DefaultUni ValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Typeable DefaultUni ValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

type Rep ValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

type Rep ValidatorHash = D1 ('MetaData "ValidatorHash" "Plutus.V1.Ledger.Scripts" "plutus-ledger-api-1.0.0.1-EUjexvcAhXiGIaLon6olWb" 'True) (C1 ('MetaCons "ValidatorHash" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinByteString)))

data MintingPolicy Source #

MintingPolicy is a wrapper around Scripts which are used as validators for minting constraints.

Instances

Instances details
Eq MintingPolicy 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Ord MintingPolicy 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Show MintingPolicy 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Generic MintingPolicy 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Associated Types

type Rep MintingPolicy :: Type -> Type Source #

NFData MintingPolicy 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Methods

rnf :: MintingPolicy -> () Source #

Pretty MintingPolicy 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Serialise MintingPolicy 
Instance details

Defined in Plutus.V1.Ledger.Scripts

type Rep MintingPolicy 
Instance details

Defined in Plutus.V1.Ledger.Scripts

type Rep MintingPolicy = D1 ('MetaData "MintingPolicy" "Plutus.V1.Ledger.Scripts" "plutus-ledger-api-1.0.0.1-EUjexvcAhXiGIaLon6olWb" 'True) (C1 ('MetaCons "MintingPolicy" 'PrefixI 'True) (S1 ('MetaSel ('Just "getMintingPolicy") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Script)))

data MintingPolicyHash Source #

Script runtime representation of a Digest SHA256.

Instances

Instances details
Eq MintingPolicyHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Ord MintingPolicyHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Show MintingPolicyHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

IsString MintingPolicyHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Generic MintingPolicyHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Associated Types

type Rep MintingPolicyHash :: Type -> Type Source #

NFData MintingPolicyHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Methods

rnf :: MintingPolicyHash -> () Source #

Pretty MintingPolicyHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

UnsafeFromData MintingPolicyHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

FromData MintingPolicyHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

ToData MintingPolicyHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Ord MintingPolicyHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Eq MintingPolicyHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Lift DefaultUni MintingPolicyHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Typeable DefaultUni MintingPolicyHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

type Rep MintingPolicyHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

type Rep MintingPolicyHash = D1 ('MetaData "MintingPolicyHash" "Plutus.V1.Ledger.Scripts" "plutus-ledger-api-1.0.0.1-EUjexvcAhXiGIaLon6olWb" 'True) (C1 ('MetaCons "MintingPolicyHash" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinByteString)))

data StakeValidator Source #

StakeValidator is a wrapper around Scripts which are used as validators for withdrawals and stake address certificates.

Instances

Instances details
Eq StakeValidator 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Ord StakeValidator 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Show StakeValidator 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Generic StakeValidator 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Associated Types

type Rep StakeValidator :: Type -> Type Source #

NFData StakeValidator 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Methods

rnf :: StakeValidator -> () Source #

Pretty StakeValidator 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Serialise StakeValidator 
Instance details

Defined in Plutus.V1.Ledger.Scripts

type Rep StakeValidator 
Instance details

Defined in Plutus.V1.Ledger.Scripts

type Rep StakeValidator = D1 ('MetaData "StakeValidator" "Plutus.V1.Ledger.Scripts" "plutus-ledger-api-1.0.0.1-EUjexvcAhXiGIaLon6olWb" 'True) (C1 ('MetaCons "StakeValidator" 'PrefixI 'True) (S1 ('MetaSel ('Just "getStakeValidator") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Script)))

data StakeValidatorHash Source #

Script runtime representation of a Digest SHA256.

Instances

Instances details
Eq StakeValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Ord StakeValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Show StakeValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

IsString StakeValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Generic StakeValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Associated Types

type Rep StakeValidatorHash :: Type -> Type Source #

NFData StakeValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Methods

rnf :: StakeValidatorHash -> () Source #

Pretty StakeValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

UnsafeFromData StakeValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

FromData StakeValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

ToData StakeValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Ord StakeValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Eq StakeValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Lift DefaultUni StakeValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

Typeable DefaultUni StakeValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

type Rep StakeValidatorHash 
Instance details

Defined in Plutus.V1.Ledger.Scripts

type Rep StakeValidatorHash = D1 ('MetaData "StakeValidatorHash" "Plutus.V1.Ledger.Scripts" "plutus-ledger-api-1.0.0.1-EUjexvcAhXiGIaLon6olWb" 'True) (C1 ('MetaCons "StakeValidatorHash" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 BuiltinByteString)))

scriptHash :: Script -> ScriptHash Source #

Convert a BuiltinsData value to a 'cardano-api' script data value.

For why we depend on `cardano-api`, see note [Hash computation of datums, redeemers and scripts] toCardanoAPIData :: Builtins.BuiltinData -> Script.ScriptData toCardanoAPIData = Script.fromPlutusData . Builtins.builtinDataToData

Hash a Script

Script utilities

scriptCurrencySymbol :: MintingPolicy -> CurrencySymbol Source #

The CurrencySymbol of a MintingPolicy.

toCardanoApiScript :: Script -> Script PlutusScriptV2 Source #

Convert a Script to a 'cardano-api' script.

For why we depend on `cardano-api`, see note [Hash computation of datums, redeemers and scripts]