| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
PlutusTx.IsData.Class
Synopsis
- class ToData (a :: Type) where
- toBuiltinData :: a -> BuiltinData
- class FromData (a :: Type) where
- fromBuiltinData :: BuiltinData -> Maybe a
- class UnsafeFromData (a :: Type) where
- unsafeFromBuiltinData :: BuiltinData -> a
- toData :: ToData a => a -> Data
- fromData :: FromData a => Data -> Maybe a
- unsafeFromData :: UnsafeFromData a => Data -> a
Documentation
class ToData (a :: Type) where #
A typeclass for types that can be converted to and from BuiltinData.
Instances
| ToData Void # | |
Defined in PlutusTx.IsData.Class Methods toBuiltinData :: Void -> BuiltinData # | |
| ToData BuiltinBLS12_381_G1_Element # | For the BLS12-381 G1 and G2 types we use the |
Defined in PlutusTx.IsData.Class Methods toBuiltinData :: BuiltinBLS12_381_G1_Element -> BuiltinData # | |
| ToData BuiltinBLS12_381_G2_Element # | |
Defined in PlutusTx.IsData.Class Methods toBuiltinData :: BuiltinBLS12_381_G2_Element -> BuiltinData # | |
| (TypeError ('Text "toBuiltinData is not supported for BuiltinBLS12_381_MlResult") :: Constraint) => ToData BuiltinBLS12_381_MlResult # | We do not provide instances of any of these classes for BuiltinBLS12_381_MlResult since there is no serialisation format: we expect that values of that type will only occur as the result of on-chain computations. |
Defined in PlutusTx.IsData.Class Methods | |
| ToData BuiltinByteString # | |
Defined in PlutusTx.IsData.Class Methods | |
| ToData BuiltinData # | |
Defined in PlutusTx.IsData.Class Methods toBuiltinData :: BuiltinData -> BuiltinData # | |
| ToData Rational # | |
Defined in PlutusTx.Ratio Methods toBuiltinData :: Rational -> BuiltinData # | |
| ToData Sqrt # | |
Defined in PlutusTx.Sqrt Methods toBuiltinData :: Sqrt -> BuiltinData # | |
| ToData Integer # | |
Defined in PlutusTx.IsData.Class Methods toBuiltinData :: Integer -> BuiltinData # | |
| ToData () # | |
Defined in PlutusTx.IsData.Instances Methods toBuiltinData :: () -> BuiltinData # | |
| ToData Bool # | |
Defined in PlutusTx.IsData.Instances Methods toBuiltinData :: Bool -> BuiltinData # | |
| (TypeError ('Text "Int is not supported, use Integer instead") :: Constraint) => ToData Int # | |
Defined in PlutusTx.IsData.Class Methods toBuiltinData :: Int -> BuiltinData # | |
| ToData (List a) # | |
Defined in PlutusTx.Data.List Methods toBuiltinData :: List a -> BuiltinData # | |
| ToData a => ToData (Maybe a) # | |
Defined in PlutusTx.IsData.Instances Methods toBuiltinData :: Maybe a -> BuiltinData # | |
| ToData a => ToData [a] # | |
Defined in PlutusTx.IsData.Class Methods toBuiltinData :: [a] -> BuiltinData # | |
| (ToData a, ToData b) => ToData (Either a b) # | |
Defined in PlutusTx.IsData.Instances Methods toBuiltinData :: Either a b -> BuiltinData # | |
| (ToData k, ToData v) => ToData (Map k v) # | Hand-written instances to use the underlying |
Defined in PlutusTx.AssocMap Methods toBuiltinData :: Map k v -> BuiltinData # | |
| ToData (Map k a) # | |
Defined in PlutusTx.Data.AssocMap Methods toBuiltinData :: Map k a -> BuiltinData # | |
| (ToData a, ToData b) => ToData (These a b) # | |
Defined in PlutusTx.These Methods toBuiltinData :: These a b -> BuiltinData # | |
| (ToData a, ToData b) => ToData (a, b) # | |
Defined in PlutusTx.IsData.Instances Methods toBuiltinData :: (a, b) -> BuiltinData # | |
| (ToData a, ToData b, ToData c) => ToData (a, b, c) # | |
Defined in PlutusTx.IsData.Instances Methods toBuiltinData :: (a, b, c) -> BuiltinData # | |
| (ToData a, ToData b, ToData c, ToData d) => ToData (a, b, c, d) # | |
Defined in PlutusTx.IsData.Instances Methods toBuiltinData :: (a, b, c, d) -> BuiltinData # | |
class FromData (a :: Type) where #
Methods
fromBuiltinData :: BuiltinData -> Maybe a #
Convert a value from BuiltinData, returning Nothing if this fails.
Instances
class UnsafeFromData (a :: Type) where #
Methods
unsafeFromBuiltinData :: BuiltinData -> a #
Convert a value from BuiltinData, calling error if this fails.
This is typically much faster than fromBuiltinData.
When implementing this function, make sure to call unsafeFromBuiltinData
rather than fromBuiltinData when converting substructures!
This is a simple type without any validation, use with caution.
Instances
unsafeFromData :: UnsafeFromData a => Data -> a #
Convert a value from Data, throwing if this fails.
Note: off-chain only.