| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Plutus.Script.Utils.Scripts
Description
This module contains functions related to versioning scripts and BuiltinData, or more specifially,
Datums and Redeemers. These functions do not depend on a particular version of Plutus.
Synopsis
- data Language
- data Versioned script = Versioned {
- unversioned :: script
- version :: Language
- scriptHash :: Versioned Script -> ScriptHash
- validatorHash :: Versioned Validator -> ValidatorHash
- mintingPolicyHash :: Versioned MintingPolicy -> MintingPolicyHash
- stakeValidatorHash :: Versioned StakeValidator -> StakeValidatorHash
- scriptCurrencySymbol :: Versioned MintingPolicy -> CurrencySymbol
- data Datum
- data DatumHash
- data Redeemer
- data RedeemerHash
- datumHash :: Datum -> DatumHash
- redeemerHash :: Redeemer -> RedeemerHash
- dataHash :: BuiltinData -> BuiltinByteString
Plutus language versioning
Non-Native Script language. This is an Enumerated type. This is expected to be an open type. We will add new Constuctors to this type as additional Non-Native scripting language as are added. We use an enumerated type for two reasons. 1) We can write total functions by case analysis over the constructors 2) We will use DataKinds to make some datatypes indexed by Language For now, the only Non-Native Scriting language is Plutus We might add new languages in the futures.
Note that the the serialization of Language depends on the ordering.
Instances
| Bounded Language | |
| Enum Language | |
Defined in Cardano.Ledger.Alonzo.Language Methods succ :: Language -> Language Source # pred :: Language -> Language Source # toEnum :: Int -> Language Source # fromEnum :: Language -> Int Source # enumFrom :: Language -> [Language] Source # enumFromThen :: Language -> Language -> [Language] Source # enumFromTo :: Language -> Language -> [Language] Source # enumFromThenTo :: Language -> Language -> Language -> [Language] Source # | |
| Eq Language | |
| Ord Language | |
Defined in Cardano.Ledger.Alonzo.Language | |
| Show Language | |
| Ix Language | |
Defined in Cardano.Ledger.Alonzo.Language | |
| Generic Language | |
| NFData Language | |
Defined in Cardano.Ledger.Alonzo.Language | |
| FromCBOR Language | |
| ToCBOR Language | |
| NoThunks Language | |
| Pretty Language Source # | |
| Serialise Language Source # | |
| type Rep Language | |
Defined in Cardano.Ledger.Alonzo.Language | |
data Versioned script Source #
A script of some kind with its Plutus language version
Constructors
| Versioned | |
Fields
| |
Instances
Script hashing
scriptHash :: Versioned Script -> ScriptHash Source #
Hash a Versioned Script
mintingPolicyHash :: Versioned MintingPolicy -> MintingPolicyHash Source #
Hash a Versioned MintingPolicy script.
stakeValidatorHash :: Versioned StakeValidator -> StakeValidatorHash Source #
Hash a Versioned StakeValidator script.
Script utilities
scriptCurrencySymbol :: Versioned MintingPolicy -> CurrencySymbol Source #
The CurrencySymbol of a MintingPolicy.
Script data hashes
Datum is a wrapper around Data values which are used as data in transaction outputs.
Instances
Script runtime representation of a Digest SHA256.
Instances
Redeemer is a wrapper around Data values that are used as redeemers in transaction inputs.
Instances
data RedeemerHash Source #
Script runtime representation of a Digest SHA256.
Instances
redeemerHash :: Redeemer -> RedeemerHash Source #
Hash a Redeemer builtin data.
dataHash :: BuiltinData -> BuiltinByteString Source #
Hash a BuiltinData