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

Plutus.Script.Utils.V1.Scripts

Description

This module contains functions related to the computation of script hashes for PlutusV1.

Synopsis

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)))

fromCardanoHash :: ScriptHash -> ScriptHash Source #

Transform a Cardano Script hash in a Plutus Script hash

scriptHash :: Script -> ScriptHash Source #

Hash a Script

Script utilities

scriptCurrencySymbol :: MintingPolicy -> CurrencySymbol Source #

The CurrencySymbol of a MintingPolicy.

toCardanoApiScript :: Script -> Script PlutusScriptV1 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]