plutus-tx-1.60.0.0: Libraries for Plutus Tx and its prelude
Safe HaskellSafe-Inferred
LanguageHaskell2010

PlutusTx.Builtins.HasOpaque

Synopsis
Decoder s [BuiltinByteStringHex] #

stringToBuiltinByteStringHex :: String -> BuiltinByteString #

class HasToOpaque a arep | a -> arep where #

A class for converting values of transparent Haskell-defined built-in types (such as (), Bool, '[]' etc) to their opaque Plutus Tx counterparts. Instances for built-in types that are not transparent are provided as well, simply as identities, since those types are already opaque.

Minimal complete definition

Nothing

Methods

toOpaque :: a -> arep #

default toOpaque :: a ~ arep => a -> arep #

Instances

Instances details
HasToOpaque BuiltinBLS12_381_G1_Element BuiltinBLS12_381_G1_Element # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasToOpaque BuiltinBLS12_381_G2_Element BuiltinBLS12_381_G2_Element # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasToOpaque BuiltinBLS12_381_MlResult BuiltinBLS12_381_MlResult # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasToOpaque BuiltinByteString BuiltinByteString # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasToOpaque BuiltinData BuiltinData # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasToOpaque BuiltinInteger BuiltinInteger # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasToOpaque BuiltinString BuiltinString # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasToOpaque BuiltinValue BuiltinValue # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasToOpaque () BuiltinUnit # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

Methods

toOpaque :: () -> BuiltinUnit #

HasToOpaque Bool Bool # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

Methods

toOpaque :: Bool -> Bool #

(HasToOpaque a arep, MkNil arep) => HasToOpaque [a] (BuiltinList arep) # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

Methods

toOpaque :: [a] -> BuiltinList arep #

HasToOpaque (BuiltinData, BuiltinData) (BuiltinPair BuiltinData BuiltinData) # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

class HasFromOpaque arep a | arep -> a where #

A class for converting values of opaque Plutus Tx types to their transparent Haskell-defined counterparts (a.k.a. pattern-matchable) built-in types (such as (), Bool, '[]' etc). If no transparent counterpart exists, then the implementation is identity.

Minimal complete definition

Nothing

Methods

fromOpaque :: arep -> a #

default fromOpaque :: a ~ arep => arep -> a #

Instances

Instances details
HasFromOpaque BuiltinBLS12_381_G1_Element BuiltinBLS12_381_G1_Element # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasFromOpaque BuiltinBLS12_381_G2_Element BuiltinBLS12_381_G2_Element # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasFromOpaque BuiltinBLS12_381_MlResult BuiltinBLS12_381_MlResult # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasFromOpaque BuiltinByteString BuiltinByteString # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasFromOpaque BuiltinData BuiltinData # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasFromOpaque BuiltinInteger BuiltinInteger # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasFromOpaque BuiltinString BuiltinString # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasFromOpaque BuiltinUnit () # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

Methods

fromOpaque :: BuiltinUnit -> () #

HasFromOpaque BuiltinValue BuiltinValue # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasFromOpaque Bool Bool # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

Methods

fromOpaque :: Bool -> Bool #

HasFromOpaque arep a => HasFromOpaque (BuiltinList arep) [a] # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

Methods

fromOpaque :: BuiltinList arep -> [a] #

(HasFromOpaque arep a, HasFromOpaque brep b) => HasFromOpaque (BuiltinPair arep brep) (a, b) # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

Methods

fromOpaque :: BuiltinPair arep brep -> (a, b) #

mkNilOpaque :: BuiltinList a #

The empty list of elements of the given type that gets spotted by the plugin (grep for mkNilOpaque in the plugin code) and replaced by the actual empty list constant for types that are supported (a subset of built-in types).

class MkNil arep where #

MkNil class restricts types that can have empty list value of. This is necessary because UPLC does not have polymorphic empty array value and type of empty array needs to be given explicitly.

Adding a new builtin type to MkNil requires making necessary changes on compileMkNil as well.

Minimal complete definition

Nothing

Methods

mkNil :: BuiltinList arep #

Instances

Instances details
MkNil BuiltinBLS12_381_G1_Element # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

MkNil BuiltinBLS12_381_G2_Element # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

MkNil BuiltinByteString # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

MkNil BuiltinData # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

MkNil BuiltinInteger # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

MkNil BuiltinValue # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

MkNil Bool # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

MkNil a => MkNil (BuiltinArray a) # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

MkNil a => MkNil (BuiltinList a) # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

(MkNil a, MkNil b) => MkNil (BuiltinPair a b) # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

Methods

mkNil :: BuiltinList (BuiltinPair a b) #

Orphan instances

IsString BuiltinByteString # 
Instance details

IsString BuiltinString # 
Instance details