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

PlutusTx.Prelude

Synopsis

Documentation

The PlutusTx Prelude is a replacement for the Haskell Prelude that works better with Plutus Tx. You should use it if you're writing code that will be compiled with the Plutus Tx compiler. {-# LANGUAGE NoImplicitPrelude #-} import PlutusTx.Prelude

Monad

(>>=)Monad m ⇒ m a → (a → m b) → m b infixl 1 Source #

Sequentially compose two actions, passing any value produced by the first as an argument to the second.

'as >>= bs' can be understood as the do expression

do a <- as
   bs a

(=<<)Monad m ⇒ (a → m b) → m a → m b infixr 1 Source #

Same as >>=, but with the arguments interchanged.

(>>)Monad m ⇒ m a → m b → m b infixl 1 Source #

Sequentially compose two actions, discarding any value produced by the first, like sequencing operators (such as the semicolon) in imperative languages.

'as >> bs' can be understood as the do expression

do as
   bs

returnMonad m ⇒ a → m a Source #

Inject a value into the monadic type.

Standard functions, Tuples

Tracing functions

Unit

data BuiltinUnit Source #

Instances

Instances details
Data BuiltinUnit Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

Methods

gfoldl ∷ (∀ d b. Data d ⇒ c (d → b) → d → c b) → (∀ g. g → c g) → BuiltinUnit → c BuiltinUnit Source #

gunfold ∷ (∀ b r. Data b ⇒ c (b → r) → c r) → (∀ r. r → c r) → Constr → c BuiltinUnit Source #

toConstrBuiltinUnitConstr Source #

dataTypeOfBuiltinUnitDataType Source #

dataCast1Typeable t ⇒ (∀ d. Data d ⇒ c (t d)) → Maybe (c BuiltinUnit) Source #

dataCast2Typeable t ⇒ (∀ d e. (Data d, Data e) ⇒ c (t d e)) → Maybe (c BuiltinUnit) Source #

gmapT ∷ (∀ b. Data b ⇒ b → b) → BuiltinUnitBuiltinUnit Source #

gmapQl ∷ (r → r' → r) → r → (∀ d. Data d ⇒ d → r') → BuiltinUnit → r Source #

gmapQr ∷ ∀ r r'. (r' → r → r) → r → (∀ d. Data d ⇒ d → r') → BuiltinUnit → r Source #

gmapQ ∷ (∀ d. Data d ⇒ d → u) → BuiltinUnit → [u] Source #

gmapQiInt → (∀ d. Data d ⇒ d → u) → BuiltinUnit → u Source #

gmapMMonad m ⇒ (∀ d. Data d ⇒ d → m d) → BuiltinUnit → m BuiltinUnit Source #

gmapMpMonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → BuiltinUnit → m BuiltinUnit Source #

gmapMoMonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → BuiltinUnit → m BuiltinUnit Source #

HasFromBuiltin BuiltinUnit Source # 
Instance details

Defined in PlutusTx.Builtins.HasBuiltin

Associated Types

type FromBuiltin BuiltinUnit Source #

HasFromOpaque BuiltinUnit () Source # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

Methods

fromOpaqueBuiltinUnit → () Source #

HasToOpaque () BuiltinUnit Source # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

Methods

toOpaque ∷ () → BuiltinUnit Source #

HasTermLevel uni () ⇒ Lift uni BuiltinUnit Source # 
Instance details

Defined in PlutusTx.Lift.Class

Methods

liftBuiltinUnitRTCompile uni fun (Term TyName Name uni fun ()) Source #

HasTypeLevel uni () ⇒ Typeable uni BuiltinUnit Source # 
Instance details

Defined in PlutusTx.Lift.Class

Methods

typeRepProxy BuiltinUnitRTCompile uni fun (Type TyName uni ()) Source #

type FromBuiltin BuiltinUnit Source # 
Instance details

Defined in PlutusTx.Builtins.HasBuiltin

String

data BuiltinString Source #

Instances

Instances details
Data BuiltinString Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

Methods

gfoldl ∷ (∀ d b. Data d ⇒ c (d → b) → d → c b) → (∀ g. g → c g) → BuiltinString → c BuiltinString Source #

gunfold ∷ (∀ b r. Data b ⇒ c (b → r) → c r) → (∀ r. r → c r) → Constr → c BuiltinString Source #

toConstrBuiltinStringConstr Source #

dataTypeOfBuiltinStringDataType Source #

dataCast1Typeable t ⇒ (∀ d. Data d ⇒ c (t d)) → Maybe (c BuiltinString) Source #

dataCast2Typeable t ⇒ (∀ d e. (Data d, Data e) ⇒ c (t d e)) → Maybe (c BuiltinString) Source #

gmapT ∷ (∀ b. Data b ⇒ b → b) → BuiltinStringBuiltinString Source #

gmapQl ∷ (r → r' → r) → r → (∀ d. Data d ⇒ d → r') → BuiltinString → r Source #

gmapQr ∷ ∀ r r'. (r' → r → r) → r → (∀ d. Data d ⇒ d → r') → BuiltinString → r Source #

gmapQ ∷ (∀ d. Data d ⇒ d → u) → BuiltinString → [u] Source #

gmapQiInt → (∀ d. Data d ⇒ d → u) → BuiltinString → u Source #

gmapMMonad m ⇒ (∀ d. Data d ⇒ d → m d) → BuiltinString → m BuiltinString Source #

gmapMpMonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → BuiltinString → m BuiltinString Source #

gmapMoMonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → BuiltinString → m BuiltinString Source #

IsString BuiltinString Source # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

Show BuiltinString Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

Eq BuiltinString Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

Ord BuiltinString Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

HasFromBuiltin BuiltinString Source # 
Instance details

Defined in PlutusTx.Builtins.HasBuiltin

Associated Types

type FromBuiltin BuiltinString Source #

Eq BuiltinString Source # 
Instance details

Defined in PlutusTx.Eq

Monoid BuiltinString Source # 
Instance details

Defined in PlutusTx.Monoid

Semigroup BuiltinString Source # 
Instance details

Defined in PlutusTx.Semigroup

Show BuiltinString Source # 
Instance details

Defined in PlutusTx.Show

HasSchema BuiltinString ts Source # 
Instance details

Defined in PlutusTx.Blueprint.Class

Methods

schemaSchema ts Source #

AsDefinitionId BuiltinString Source # 
Instance details

Defined in PlutusTx.Blueprint.Definition.Id

HasFromOpaque BuiltinString BuiltinString Source # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasToOpaque BuiltinString BuiltinString Source # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasTermLevel uni Text ⇒ Lift uni BuiltinString Source # 
Instance details

Defined in PlutusTx.Lift.Class

Methods

liftBuiltinStringRTCompile uni fun (Term TyName Name uni fun ()) Source #

HasTypeLevel uni Text ⇒ Typeable uni BuiltinString Source # 
Instance details

Defined in PlutusTx.Lift.Class

Methods

typeRepProxy BuiltinStringRTCompile uni fun (Type TyName uni ()) Source #

type FromBuiltin BuiltinString Source # 
Instance details

Defined in PlutusTx.Builtins.HasBuiltin

emptyStringBuiltinString Source #

An empty String.

equalsStringBuiltinStringBuiltinStringBool Source #

Check if two strings are equal

encodeUtf8BuiltinStringBuiltinByteString Source #

Convert a String into a ByteString.

Error

error ∷ () → a Source #

Aborts evaluation with an error.

checkBoolBuiltinUnit Source #

Checks a Bool and aborts if it is false.

Booleans

Integer numbers

data Integer Source #

Arbitrary precision integers. In contrast with fixed-size integral types such as Int, the Integer type represents the entire infinite range of integers.

Integers are stored in a kind of sign-magnitude form, hence do not expect two's complement form when using bit operations.

If the value is small (fit into an Int), IS constructor is used. Otherwise Integer and IN constructors are used to store a BigNat representing respectively the positive or the negative value magnitude.

Invariant: Integer and IN are used iff value doesn't fit in IS

Instances

Instances details
FromJSON Integer 
Instance details

Defined in Data.Aeson.Types.FromJSON

Methods

parseJSON ∷ Value → Parser Integer

parseJSONList ∷ Value → Parser [Integer]

omittedFieldMaybe Integer

FromJSONKey Integer 
Instance details

Defined in Data.Aeson.Types.FromJSON

Methods

fromJSONKey ∷ FromJSONKeyFunction Integer

fromJSONKeyList ∷ FromJSONKeyFunction [Integer]

ToJSON Integer 
Instance details

Defined in Data.Aeson.Types.ToJSON

Methods

toJSONInteger → Value

toEncodingInteger → Encoding

toJSONList ∷ [Integer] → Value

toEncodingList ∷ [Integer] → Encoding

omitFieldIntegerBool

ToJSONKey Integer 
Instance details

Defined in Data.Aeson.Types.ToJSON

Methods

toJSONKey ∷ ToJSONKeyFunction Integer

toJSONKeyList ∷ ToJSONKeyFunction [Integer]

Data Integer

Since: base-4.0.0.0

Instance details

Defined in Data.Data

Methods

gfoldl ∷ (∀ d b. Data d ⇒ c (d → b) → d → c b) → (∀ g. g → c g) → Integer → c Integer Source #

gunfold ∷ (∀ b r. Data b ⇒ c (b → r) → c r) → (∀ r. r → c r) → Constr → c Integer Source #

toConstrIntegerConstr Source #

dataTypeOfIntegerDataType Source #

dataCast1Typeable t ⇒ (∀ d. Data d ⇒ c (t d)) → Maybe (c Integer) Source #

dataCast2Typeable t ⇒ (∀ d e. (Data d, Data e) ⇒ c (t d e)) → Maybe (c Integer) Source #

gmapT ∷ (∀ b. Data b ⇒ b → b) → IntegerInteger Source #

gmapQl ∷ (r → r' → r) → r → (∀ d. Data d ⇒ d → r') → Integer → r Source #

gmapQr ∷ ∀ r r'. (r' → r → r) → r → (∀ d. Data d ⇒ d → r') → Integer → r Source #

gmapQ ∷ (∀ d. Data d ⇒ d → u) → Integer → [u] Source #

gmapQiInt → (∀ d. Data d ⇒ d → u) → Integer → u Source #

gmapMMonad m ⇒ (∀ d. Data d ⇒ d → m d) → Integer → m Integer Source #

gmapMpMonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → Integer → m Integer Source #

gmapMoMonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → Integer → m Integer Source #

Enum Integer

Since: base-2.1

Instance details

Defined in GHC.Enum

Ix Integer

Since: base-2.1

Instance details

Defined in GHC.Ix

Num Integer

Since: base-2.1

Instance details

Defined in GHC.Num

Read Integer

Since: base-2.1

Instance details

Defined in GHC.Read

Integral Integer

Since: base-2.0.1

Instance details

Defined in GHC.Real

Real Integer

Since: base-2.0.1

Instance details

Defined in GHC.Real

Show Integer

Since: base-2.1

Instance details

Defined in GHC.Show

Subtractive Integer 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Integer

Methods

(-)IntegerInteger → Difference Integer

Default Integer 
Instance details

Defined in Data.Default.Class

Methods

defInteger #

NFData Integer 
Instance details

Defined in Control.DeepSeq

Methods

rnfInteger → () Source #

Eq Integer 
Instance details

Defined in GHC.Num.Integer

Methods

(==)IntegerIntegerBool Source #

(/=)IntegerIntegerBool Source #

Ord Integer 
Instance details

Defined in GHC.Num.Integer

Hashable Integer 
Instance details

Defined in Data.Hashable.Class

Methods

hashWithSaltIntIntegerInt

hashIntegerInt

HasFromBuiltin BuiltinInteger Source # 
Instance details

Defined in PlutusTx.Builtins.HasBuiltin

Associated Types

type FromBuiltin BuiltinInteger Source #

HasToBuiltin Integer Source # 
Instance details

Defined in PlutusTx.Builtins.HasBuiltin

Associated Types

type ToBuiltin Integer Source #

Enum Integer Source # 
Instance details

Defined in PlutusTx.Enum

Eq Integer Source # 
Instance details

Defined in PlutusTx.Eq

Methods

(==)IntegerIntegerBool Source #

FromData Integer Source # 
Instance details

Defined in PlutusTx.IsData.Class

ToData Integer Source # 
Instance details

Defined in PlutusTx.IsData.Class

UnsafeFromData Integer Source # 
Instance details

Defined in PlutusTx.IsData.Class

AdditiveGroup Integer Source # 
Instance details

Defined in PlutusTx.Numeric

Methods

(-)IntegerIntegerInteger Source #

AdditiveMonoid Integer Source # 
Instance details

Defined in PlutusTx.Numeric

Methods

zeroInteger Source #

AdditiveSemigroup Integer Source # 
Instance details

Defined in PlutusTx.Numeric

Methods

(+)IntegerIntegerInteger Source #

MultiplicativeMonoid Integer Source # 
Instance details

Defined in PlutusTx.Numeric

Methods

oneInteger Source #

MultiplicativeSemigroup Integer Source # 
Instance details

Defined in PlutusTx.Numeric

Methods

(*)IntegerIntegerInteger Source #

Ord Integer Source # 
Instance details

Defined in PlutusTx.Ord

Show Integer Source # 
Instance details

Defined in PlutusTx.Show

Pretty Integer 
Instance details

Defined in Prettyprinter.Internal

Methods

prettyIntegerDoc ann #

prettyList ∷ [Integer] → Doc ann #

UniformRange Integer 
Instance details

Defined in System.Random.Internal

Methods

uniformRM ∷ StatefulGen g m ⇒ (Integer, Integer) → g → m Integer

Serialise Integer 
Instance details

Defined in Codec.Serialise.Class

Methods

encodeInteger → Encoding

decode ∷ Decoder s Integer

encodeList ∷ [Integer] → Encoding

decodeList ∷ Decoder s [Integer]

Pretty Rational 
Instance details

Defined in Text.PrettyPrint.Annotated.WL

Methods

prettyRational → Doc b

prettyList ∷ [Rational] → Doc b

Pretty Integer 
Instance details

Defined in Text.PrettyPrint.Annotated.WL

Methods

prettyInteger → Doc b

prettyList ∷ [Integer] → Doc b

HasSchema Integer ts Source # 
Instance details

Defined in PlutusTx.Blueprint.Class

Methods

schemaSchema ts Source #

AsDefinitionId Integer Source # 
Instance details

Defined in PlutusTx.Blueprint.Definition.Id

HasFromOpaque BuiltinInteger BuiltinInteger Source # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasToOpaque BuiltinInteger BuiltinInteger Source # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasTermLevel uni IntegerLift uni BuiltinInteger Source # 
Instance details

Defined in PlutusTx.Lift.Class

Methods

liftBuiltinIntegerRTCompile uni fun (Term TyName Name uni fun ()) Source #

Module Integer Rational Source # 
Instance details

Defined in PlutusTx.Ratio

Methods

scaleIntegerRationalRational Source #

DefaultPrettyBy config Integer 
Instance details

Defined in Text.PrettyBy.Internal

Methods

defaultPrettyBy ∷ config → IntegerDoc ann Source #

defaultPrettyListBy ∷ config → [Integer] → Doc ann Source #

NonDefaultPrettyBy ConstConfig Integer 
Instance details

Defined in PlutusCore.Pretty.PrettyConst

PrettyDefaultBy config IntegerPrettyBy config Integer
>>> prettyBy () (2^(123 :: Int) :: Integer)
10633823966279326983230456482242756608
Instance details

Defined in Text.PrettyBy.Internal

Methods

prettyBy ∷ config → IntegerDoc ann Source #

prettyListBy ∷ config → [Integer] → Doc ann Source #

Lift Integer 
Instance details

Defined in Language.Haskell.TH.Syntax

Methods

liftQuote m ⇒ Integer → m Exp Source #

liftTyped ∷ ∀ (m ∷ TypeType). Quote m ⇒ IntegerCode m Integer Source #

KnownBuiltinTypeIn DefaultUni term IntegerMakeKnownIn DefaultUni term Integer 
Instance details

Defined in PlutusCore.Default.Universe

Methods

makeKnownIntegerBuiltinResult term Source #

KnownBuiltinTypeIn DefaultUni term IntegerReadKnownIn DefaultUni term Integer 
Instance details

Defined in PlutusCore.Default.Universe

Methods

readKnown ∷ term → ReadKnownM Integer Source #

Contains DefaultUni Integer 
Instance details

Defined in PlutusCore.Default.Universe

HasTypeLevel uni IntegerTypeable uni BuiltinInteger Source # 
Instance details

Defined in PlutusTx.Lift.Class

Methods

typeRepProxy BuiltinIntegerRTCompile uni fun (Type TyName uni ()) Source #

KnownNat n ⇒ Reifies (n ∷ Nat) Integer 
Instance details

Defined in Data.Reflection

Methods

reflect ∷ proxy n → Integer

KnownBuiltinTypeAst tyname DefaultUni IntegerKnownTypeAst tyname DefaultUni Integer 
Instance details

Defined in PlutusCore.Default.Universe

Methods

typeAstType tyname DefaultUni () Source #

type Difference Integer 
Instance details

Defined in Basement.Numerical.Subtractive

type Difference Integer = Integer
type FromBuiltin BuiltinInteger Source # 
Instance details

Defined in PlutusTx.Builtins.HasBuiltin

type ToBuiltin Integer Source # 
Instance details

Defined in PlutusTx.Builtins.HasBuiltin

type IsBuiltin DefaultUni Integer 
Instance details

Defined in PlutusCore.Default.Universe

type ToHoles DefaultUni Integer 
Instance details

Defined in PlutusCore.Default.Universe

type ToBinds DefaultUni acc Integer 
Instance details

Defined in PlutusCore.Default.Universe

divideIntegerIntegerInteger Source #

Integer division, rounding downwards

>>> divide (-41) 5
-9

moduloIntegerIntegerInteger Source #

Integer remainder, always positive for a positive divisor

>>> modulo (-41) 5
4

quotientIntegerIntegerInteger Source #

Integer division, rouding towards zero

>>> quotient (-41) 5
-8

remainderIntegerIntegerInteger Source #

Integer remainder, same sign as dividend

>>> remainder (-41) 5
-1

Maybe

Either

Lists

zipWith ∷ ∀ a b c. (a → b → c) → [a] → [b] → [c] Source #

Plutus Tx version of zipWith.

sortBy ∷ (a → a → Ordering) → [a] → [a] Source #

Plutus Tx version of sortBy.

head ∷ [a] → a Source #

Plutus Tx version of head.

filter ∷ (a → Bool) → [a] → [a] Source #

Plutus Tx version of filter.

>>> filter (> 1) [1, 2, 3, 4]
[2,3,4]

(++) ∷ [a] → [a] → [a] infixr 5 Source #

Plutus Tx version of (++).

>>> [0, 1, 2] ++ [1, 2, 3, 4]
[0,1,2,1,2,3,4]

zip ∷ [a] → [b] → [(a, b)] Source #

Plutus Tx version of zip.

map ∷ ∀ a b. (a → b) → [a] → [b] Source #

Plutus Tx version of map.

>>> map (\i -> i + 1) [1, 2, 3]
[2,3,4]

listToMaybe ∷ [a] → Maybe a Source #

Plutus Tx version of listToMaybe.

uncons ∷ [a] → Maybe (a, [a]) Source #

Plutus Tx version of uncons.

tail ∷ [a] → [a] Source #

Plutus Tx version of tail.

last ∷ [a] → a Source #

Plutus Tx version of last.

null ∷ [a] → Bool Source #

Test whether a list is empty.

replicate ∷ ∀ a. Integer → a → [a] Source #

Plutus Tx version of replicate.

dropWhile ∷ ∀ a. (a → Bool) → [a] → [a] Source #

Plutus Tx version of dropWhile.

takeInteger → [a] → [a] Source #

Plutus Tx version of take.

dropInteger → [a] → [a] Source #

Plutus Tx version of drop.

splitAtInteger → [a] → ([a], [a]) Source #

Plutus Tx version of splitAt.

reverse ∷ [a] → [a] Source #

Plutus Tx version of reverse.

and ∷ [Bool] → Bool Source #

Returns the conjunction of a list of Bools.

or ∷ [Bool] → Bool Source #

Returns the disjunction of a list of Bools.

any ∷ ∀ a. (a → Bool) → [a] → Bool Source #

Determines whether any element of the structure satisfies the predicate.

all ∷ ∀ a. (a → Bool) → [a] → Bool Source #

Determines whether all elements of the list satisfy the predicate.

elemEq a ⇒ a → [a] → Bool Source #

Does the element occur in the list?

notElemEq a ⇒ a → [a] → Bool Source #

The negation of elem.

(!!) ∷ ∀ a. [a] → Integer → a infixl 9 Source #

Plutus Tx version of (!!).

>>> [10, 11, 12] !! 2
12

unzip ∷ [(a, b)] → ([a], [b]) Source #

Plutus Tx version of unzip.

find ∷ ∀ a. (a → Bool) → [a] → Maybe a Source #

Returns the leftmost element matching the predicate, or Nothing if there's no such element.

findIndex ∷ (a → Bool) → [a] → Maybe Integer Source #

Plutus Tx version of findIndex.

findIndices ∷ (a → Bool) → [a] → [Integer] Source #

Plutus Tx version of findIndices.

nubEq a ⇒ [a] → [a] Source #

Plutus Tx version of nub.

nubBy ∷ (a → a → Bool) → [a] → [a] Source #

Plutus Tx version of nubBy.

partition ∷ (a → Bool) → [a] → ([a], [a]) Source #

Plutus Tx version of partition.

sortOrd a ⇒ [a] → [a] Source #

Plutus Tx version of sort.

uniqueElement ∷ [a] → Maybe a Source #

Return the element in the list, if there is precisely one.

revAppend ∷ ∀ a. [a] → [a] → [a] Source #

Cons each element of the first list to the second one in reverse order (i.e. the last element of the first list is the head of the result).

revAppend xs ys === reverse xs ++ ys
>>> revAppend "abc" "de"
"cbade"

indexBuiltinList ∷ ∀ a. BuiltinList a → Integer → a Source #

Index operator for builtin lists.

>>> indexBuiltinList (toBuiltin [10, 11, 12]) 2
12

ByteStrings

data BuiltinByteString Source #

An opaque type representing Plutus Core ByteStrings.

Instances

Instances details
Data BuiltinByteString Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

Methods

gfoldl ∷ (∀ d b. Data d ⇒ c (d → b) → d → c b) → (∀ g. g → c g) → BuiltinByteString → c BuiltinByteString Source #

gunfold ∷ (∀ b r. Data b ⇒ c (b → r) → c r) → (∀ r. r → c r) → Constr → c BuiltinByteString Source #

toConstrBuiltinByteStringConstr Source #

dataTypeOfBuiltinByteStringDataType Source #

dataCast1Typeable t ⇒ (∀ d. Data d ⇒ c (t d)) → Maybe (c BuiltinByteString) Source #

dataCast2Typeable t ⇒ (∀ d e. (Data d, Data e) ⇒ c (t d e)) → Maybe (c BuiltinByteString) Source #

gmapT ∷ (∀ b. Data b ⇒ b → b) → BuiltinByteStringBuiltinByteString Source #

gmapQl ∷ (r → r' → r) → r → (∀ d. Data d ⇒ d → r') → BuiltinByteString → r Source #

gmapQr ∷ ∀ r r'. (r' → r → r) → r → (∀ d. Data d ⇒ d → r') → BuiltinByteString → r Source #

gmapQ ∷ (∀ d. Data d ⇒ d → u) → BuiltinByteString → [u] Source #

gmapQiInt → (∀ d. Data d ⇒ d → u) → BuiltinByteString → u Source #

gmapMMonad m ⇒ (∀ d. Data d ⇒ d → m d) → BuiltinByteString → m BuiltinByteString Source #

gmapMpMonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → BuiltinByteString → m BuiltinByteString Source #

gmapMoMonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → BuiltinByteString → m BuiltinByteString Source #

IsString BuiltinByteString Source # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

Monoid BuiltinByteString Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

Semigroup BuiltinByteString Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

Show BuiltinByteString Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

NFData BuiltinByteString Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

Methods

rnfBuiltinByteString → () Source #

Eq BuiltinByteString Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

Ord BuiltinByteString Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

Hashable BuiltinByteString Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

ByteArray BuiltinByteString Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

Methods

allocRetInt → (Ptr p → IO a) → IO (a, BuiltinByteString)

ByteArrayAccess BuiltinByteString Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

HasFromBuiltin BuiltinByteString Source # 
Instance details

Defined in PlutusTx.Builtins.HasBuiltin

Associated Types

type FromBuiltin BuiltinByteString Source #

Eq BuiltinByteString Source # 
Instance details

Defined in PlutusTx.Eq

FromData BuiltinByteString Source # 
Instance details

Defined in PlutusTx.IsData.Class

ToData BuiltinByteString Source # 
Instance details

Defined in PlutusTx.IsData.Class

UnsafeFromData BuiltinByteString Source # 
Instance details

Defined in PlutusTx.IsData.Class

Monoid BuiltinByteString Source # 
Instance details

Defined in PlutusTx.Monoid

Ord BuiltinByteString Source # 
Instance details

Defined in PlutusTx.Ord

Semigroup BuiltinByteString Source # 
Instance details

Defined in PlutusTx.Semigroup

Show BuiltinByteString Source # 
Instance details

Defined in PlutusTx.Show

Pretty BuiltinByteString Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

Methods

prettyBuiltinByteStringDoc ann #

prettyList ∷ [BuiltinByteString] → Doc ann #

Serialise BuiltinByteString Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

Methods

encodeBuiltinByteString → Encoding

decode ∷ Decoder s BuiltinByteString

encodeList ∷ [BuiltinByteString] → Encoding

decodeList ∷ Decoder s [BuiltinByteString]

HasSchema BuiltinByteString ts Source # 
Instance details

Defined in PlutusTx.Blueprint.Class

Methods

schemaSchema ts Source #

AsDefinitionId BuiltinByteString Source # 
Instance details

Defined in PlutusTx.Blueprint.Definition.Id

HasFromOpaque BuiltinByteString BuiltinByteString Source # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasToOpaque BuiltinByteString BuiltinByteString Source # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasTermLevel uni ByteString ⇒ Lift uni BuiltinByteString Source # 
Instance details

Defined in PlutusTx.Lift.Class

Methods

liftBuiltinByteStringRTCompile uni fun (Term TyName Name uni fun ()) Source #

HasTypeLevel uni ByteString ⇒ Typeable uni BuiltinByteString Source # 
Instance details

Defined in PlutusTx.Lift.Class

Methods

typeRepProxy BuiltinByteStringRTCompile uni fun (Type TyName uni ()) Source #

type FromBuiltin BuiltinByteString Source # 
Instance details

Defined in PlutusTx.Builtins.HasBuiltin

type FromBuiltin BuiltinByteString = ByteString

consByteStringIntegerBuiltinByteStringBuiltinByteString Source #

Adds a byte to the front of a ByteString.

takeByteStringIntegerBuiltinByteStringBuiltinByteString Source #

Returns the n length prefix of a ByteString.

dropByteStringIntegerBuiltinByteStringBuiltinByteString Source #

Returns the suffix of a ByteString after n elements.

sliceByteStringIntegerIntegerBuiltinByteStringBuiltinByteString Source #

Returns the substring of a ByteString from index start of length n.

lengthOfByteStringBuiltinByteStringInteger Source #

Returns the length of a ByteString.

indexByteStringBuiltinByteStringIntegerInteger Source #

Returns the byte of a ByteString at index.

emptyByteStringBuiltinByteString Source #

An empty ByteString.

decodeUtf8BuiltinByteStringBuiltinString Source #

Converts a ByteString to a String.

Hashes and Signatures

sha2_256BuiltinByteStringBuiltinByteString Source #

The SHA2-256 hash of a ByteString

sha3_256BuiltinByteStringBuiltinByteString Source #

The SHA3-256 hash of a ByteString

blake2b_224BuiltinByteStringBuiltinByteString Source #

The BLAKE2B-224 hash of a ByteString

blake2b_256BuiltinByteStringBuiltinByteString Source #

The BLAKE2B-256 hash of a ByteString

keccak_256BuiltinByteStringBuiltinByteString Source #

The KECCAK-256 hash of a ByteString

verifyEd25519Signature Source #

Arguments

BuiltinByteString

Public Key (32 bytes)

BuiltinByteString

Message (arbirtary length)

BuiltinByteString

Signature (64 bytes)

Bool 

Ed25519 signature verification. Verify that the signature is a signature of the message by the public key. This will fail if key or the signature are not of the expected length.

verifyEcdsaSecp256k1Signature Source #

Arguments

BuiltinByteString

Verification key (33 bytes)

BuiltinByteString

Message hash (32 bytes)

BuiltinByteString

Signature (64 bytes)

Bool 

Given an ECDSA SECP256k1 verification key, an ECDSA SECP256k1 signature, and an ECDSA SECP256k1 message hash (all as BuiltinByteStrings), verify the hash with that key and signature.

Note

There are additional well-formation requirements for the arguments beyond their length:

  • The first byte of the public key must correspond to the sign of the y coordinate: this is 0x02 if y is even, and 0x03 otherwise.
  • The remaining bytes of the public key must correspond to the x coordinate, as a big-endian integer.
  • The first 32 bytes of the signature must correspond to the big-endian integer representation of _r_.
  • The last 32 bytes of the signature must correspond to the big-endian integer representation of _s_.

While this primitive accepts a hash, any caller should only pass it hashes that they computed themselves: specifically, they should receive the message from a sender and hash it, rather than receiving the hash from said sender. Failure to do so can be dangerous. Other than length, we make no requirements of what hash gets used.

See also

verifySchnorrSecp256k1Signature Source #

Arguments

BuiltinByteString

Verification key (32 bytes)

BuiltinByteString

Message (arbitrary length)

BuiltinByteString

Signature (64 bytes)

Bool 

Given a Schnorr SECP256k1 verification key, a Schnorr SECP256k1 signature, and a message (all as BuiltinByteStrings), verify the message with that key and signature.

Note

There are additional well-formation requirements for the arguments beyond their length. Throughout, we refer to co-ordinates of the point R.

  • The bytes of the public key must correspond to the x coordinate, as a big-endian integer, as specified in BIP-340.
  • The first 32 bytes of the signature must correspond to the x coordinate, as a big-endian integer, as specified in BIP-340.
  • The last 32 bytes of the signature must correspond to the bytes of s, as a big-endian integer, as specified in BIP-340.

See also

Rational numbers

data Rational Source #

Represents an arbitrary-precision ratio.

The following two invariants are maintained:

  1. The denominator is greater than zero.
  2. The numerator and denominator are coprime.

Instances

Instances details
FromJSON Rational Source #

This mimics the behaviour of Aeson's instance for Rational.

Instance details

Defined in PlutusTx.Ratio

Methods

parseJSON ∷ Value → Parser Rational

parseJSONList ∷ Value → Parser [Rational]

omittedFieldMaybe Rational

ToJSON Rational Source #

This mimics the behaviour of Aeson's instance for Rational.

Instance details

Defined in PlutusTx.Ratio

Methods

toJSONRational → Value

toEncodingRational → Encoding

toJSONList ∷ [Rational] → Value

toEncodingList ∷ [Rational] → Encoding

omitFieldRationalBool

Generic Rational Source # 
Instance details

Defined in PlutusTx.Ratio

Associated Types

type Rep RationalTypeType Source #

Show Rational Source # 
Instance details

Defined in PlutusTx.Ratio

Eq Rational Source # 
Instance details

Defined in PlutusTx.Ratio

Ord Rational Source # 
Instance details

Defined in PlutusTx.Ratio

Eq Rational Source # 
Instance details

Defined in PlutusTx.Ratio

Methods

(==)RationalRationalBool Source #

FromData Rational Source # 
Instance details

Defined in PlutusTx.Ratio

ToData Rational Source # 
Instance details

Defined in PlutusTx.Ratio

UnsafeFromData Rational Source # 
Instance details

Defined in PlutusTx.Ratio

AdditiveGroup Rational Source # 
Instance details

Defined in PlutusTx.Ratio

Methods

(-)RationalRationalRational Source #

AdditiveMonoid Rational Source # 
Instance details

Defined in PlutusTx.Ratio

Methods

zeroRational Source #

AdditiveSemigroup Rational Source # 
Instance details

Defined in PlutusTx.Ratio

Methods

(+)RationalRationalRational Source #

MultiplicativeMonoid Rational Source # 
Instance details

Defined in PlutusTx.Ratio

Methods

oneRational Source #

MultiplicativeSemigroup Rational Source # 
Instance details

Defined in PlutusTx.Ratio

Methods

(*)RationalRationalRational Source #

Ord Rational Source # 
Instance details

Defined in PlutusTx.Ratio

Pretty Rational Source # 
Instance details

Defined in PlutusTx.Ratio

Methods

prettyRationalDoc ann #

prettyList ∷ [Rational] → Doc ann #

Lift DefaultUni Rational Source # 
Instance details

Defined in PlutusTx.Ratio

Module Integer Rational Source # 
Instance details

Defined in PlutusTx.Ratio

Methods

scaleIntegerRationalRational Source #

Typeable DefaultUni Rational Source # 
Instance details

Defined in PlutusTx.Ratio

type Rep Rational Source # 
Instance details

Defined in PlutusTx.Ratio

unsafeRatioIntegerIntegerRational Source #

Makes a Rational from a numerator and a denominator.

Important note

If given a zero denominator, this function will error. If you don't mind a size increase, and care about safety, use ratio instead.

ratioIntegerIntegerMaybe Rational Source #

Safely constructs a Rational from a numerator and a denominator. Returns Nothing if given a zero denominator.

fromIntegerIntegerRational Source #

Converts an Integer into the equivalent Rational.

roundRationalInteger Source #

round r returns the nearest Integer value to r. If r is equidistant between two values, the even value will be given.

Data

data BuiltinData Source #

A type corresponding to the Plutus Core builtin equivalent of Data.

The point of this type is to be an opaque equivalent of Data, so as to ensure that it is only used in ways that the compiler can handle.

As such, you should use this type in your on-chain code, and in any data structures that you want to be representable on-chain.

For off-chain usage, there are conversion functions builtinDataToData and dataToBuiltinData, but note that these will not work on-chain.

Instances

Instances details
Data BuiltinData Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

Methods

gfoldl ∷ (∀ d b. Data d ⇒ c (d → b) → d → c b) → (∀ g. g → c g) → BuiltinData → c BuiltinData Source #

gunfold ∷ (∀ b r. Data b ⇒ c (b → r) → c r) → (∀ r. r → c r) → Constr → c BuiltinData Source #

toConstrBuiltinDataConstr Source #

dataTypeOfBuiltinDataDataType Source #

dataCast1Typeable t ⇒ (∀ d. Data d ⇒ c (t d)) → Maybe (c BuiltinData) Source #

dataCast2Typeable t ⇒ (∀ d e. (Data d, Data e) ⇒ c (t d e)) → Maybe (c BuiltinData) Source #

gmapT ∷ (∀ b. Data b ⇒ b → b) → BuiltinDataBuiltinData Source #

gmapQl ∷ (r → r' → r) → r → (∀ d. Data d ⇒ d → r') → BuiltinData → r Source #

gmapQr ∷ ∀ r r'. (r' → r → r) → r → (∀ d. Data d ⇒ d → r') → BuiltinData → r Source #

gmapQ ∷ (∀ d. Data d ⇒ d → u) → BuiltinData → [u] Source #

gmapQiInt → (∀ d. Data d ⇒ d → u) → BuiltinData → u Source #

gmapMMonad m ⇒ (∀ d. Data d ⇒ d → m d) → BuiltinData → m BuiltinData Source #

gmapMpMonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → BuiltinData → m BuiltinData Source #

gmapMoMonadPlus m ⇒ (∀ d. Data d ⇒ d → m d) → BuiltinData → m BuiltinData Source #

Generic BuiltinData Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

Associated Types

type Rep BuiltinDataTypeType Source #

Show BuiltinData Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

NFData BuiltinData Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

Methods

rnfBuiltinData → () Source #

Eq BuiltinData Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

Ord BuiltinData Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

HasFromBuiltin BuiltinData Source # 
Instance details

Defined in PlutusTx.Builtins.HasBuiltin

Associated Types

type FromBuiltin BuiltinData Source #

Eq BuiltinData Source # 
Instance details

Defined in PlutusTx.Eq

FromData BuiltinData Source # 
Instance details

Defined in PlutusTx.IsData.Class

ToData BuiltinData Source # 
Instance details

Defined in PlutusTx.IsData.Class

UnsafeFromData BuiltinData Source # 
Instance details

Defined in PlutusTx.IsData.Class

Show BuiltinData Source # 
Instance details

Defined in PlutusTx.Show

Pretty BuiltinData Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

Methods

prettyBuiltinDataDoc ann #

prettyList ∷ [BuiltinData] → Doc ann #

HasSchema BuiltinData ts Source # 
Instance details

Defined in PlutusTx.Blueprint.Class

Methods

schemaSchema ts Source #

AsDefinitionId BuiltinData Source # 
Instance details

Defined in PlutusTx.Blueprint.Definition.Id

HasFromOpaque BuiltinData BuiltinData Source # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasToOpaque BuiltinData BuiltinData Source # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasTermLevel uni DataLift uni BuiltinData Source # 
Instance details

Defined in PlutusTx.Lift.Class

Methods

liftBuiltinDataRTCompile uni fun (Term TyName Name uni fun ()) Source #

HasTypeLevel uni DataTypeable uni BuiltinData Source # 
Instance details

Defined in PlutusTx.Lift.Class

Methods

typeRepProxy BuiltinDataRTCompile uni fun (Type TyName uni ()) Source #

HasToOpaque [BuiltinData] (BuiltinList BuiltinData) Source # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasToOpaque [(BuiltinData, BuiltinData)] (BuiltinList (BuiltinPair BuiltinData BuiltinData)) Source # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

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

Defined in PlutusTx.Builtins.HasOpaque

type Rep BuiltinData Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

type Rep BuiltinData = D1 ('MetaData "BuiltinData" "PlutusTx.Builtins.Internal" "plutus-tx-1.30.0.0-inplace" 'False) (C1 ('MetaCons "BuiltinData" 'PrefixI 'False) (S1 ('MetaSel ('NothingMaybe Symbol) 'NoSourceUnpackedness 'SourceLazy 'DecidedLazy) (Rec0 Data)))
type FromBuiltin BuiltinData Source # 
Instance details

Defined in PlutusTx.Builtins.HasBuiltin

BLS12_381

data BuiltinBLS12_381_G1_Element Source #

Instances

Instances details
Show BuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

NFData BuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

Eq BuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

HasFromBuiltin BuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in PlutusTx.Builtins.HasBuiltin

Eq BuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in PlutusTx.Eq

FromData BuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in PlutusTx.IsData.Class

ToData BuiltinBLS12_381_G1_Element Source #

For the BLS12-381 G1 and G2 types we use the compress functions to convert to a ByteString and then encode that as Data as usual. We have to be more careful going the other way because we decode a Data object to (possibly) get a BuiltinByteString and then uncompress the underlying ByteString to get a group element. However uncompression can fail so we have to check what happens: we don't use bls12_381_G?_uncompress because that invokes error if something goes wrong (but we do use it for unsafeFromData).

Instance details

Defined in PlutusTx.IsData.Class

UnsafeFromData BuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in PlutusTx.IsData.Class

Pretty BuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

HasFromOpaque BuiltinBLS12_381_G1_Element BuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasToOpaque BuiltinBLS12_381_G1_Element BuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasTermLevel uni ElementLift uni BuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in PlutusTx.Lift.Class

Methods

liftBuiltinBLS12_381_G1_ElementRTCompile uni fun (Term TyName Name uni fun ()) Source #

HasTypeLevel uni ElementTypeable uni BuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in PlutusTx.Lift.Class

type FromBuiltin BuiltinBLS12_381_G1_Element Source # 
Instance details

Defined in PlutusTx.Builtins.HasBuiltin

data BuiltinBLS12_381_G2_Element Source #

Instances

Instances details
Show BuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

NFData BuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

Eq BuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

HasFromBuiltin BuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in PlutusTx.Builtins.HasBuiltin

Eq BuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in PlutusTx.Eq

FromData BuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in PlutusTx.IsData.Class

ToData BuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in PlutusTx.IsData.Class

UnsafeFromData BuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in PlutusTx.IsData.Class

Pretty BuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

HasFromOpaque BuiltinBLS12_381_G2_Element BuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasToOpaque BuiltinBLS12_381_G2_Element BuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasTermLevel uni ElementLift uni BuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in PlutusTx.Lift.Class

Methods

liftBuiltinBLS12_381_G2_ElementRTCompile uni fun (Term TyName Name uni fun ()) Source #

HasTypeLevel uni ElementTypeable uni BuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in PlutusTx.Lift.Class

type FromBuiltin BuiltinBLS12_381_G2_Element Source # 
Instance details

Defined in PlutusTx.Builtins.HasBuiltin

data BuiltinBLS12_381_MlResult Source #

Instances

Instances details
Show BuiltinBLS12_381_MlResult Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

NFData BuiltinBLS12_381_MlResult Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

Eq BuiltinBLS12_381_MlResult Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

HasFromBuiltin BuiltinBLS12_381_MlResult Source # 
Instance details

Defined in PlutusTx.Builtins.HasBuiltin

(TypeError ('Text "fromBuiltinData is not supported for BuiltinBLS12_381_MlResult") ∷ Constraint) ⇒ FromData BuiltinBLS12_381_MlResult Source # 
Instance details

Defined in PlutusTx.IsData.Class

(TypeError ('Text "toBuiltinData is not supported for BuiltinBLS12_381_MlResult") ∷ Constraint) ⇒ ToData BuiltinBLS12_381_MlResult Source #

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.

Instance details

Defined in PlutusTx.IsData.Class

(TypeError ('Text "unsafeFromBuiltinData is not supported for BuiltinBLS12_381_MlResult") ∷ Constraint) ⇒ UnsafeFromData BuiltinBLS12_381_MlResult Source # 
Instance details

Defined in PlutusTx.IsData.Class

Pretty BuiltinBLS12_381_MlResult Source # 
Instance details

Defined in PlutusTx.Builtins.Internal

HasFromOpaque BuiltinBLS12_381_MlResult BuiltinBLS12_381_MlResult Source # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasToOpaque BuiltinBLS12_381_MlResult BuiltinBLS12_381_MlResult Source # 
Instance details

Defined in PlutusTx.Builtins.HasOpaque

HasTermLevel uni MlResultLift uni BuiltinBLS12_381_MlResult Source # 
Instance details

Defined in PlutusTx.Lift.Class

Methods

liftBuiltinBLS12_381_MlResultRTCompile uni fun (Term TyName Name uni fun ()) Source #

HasTypeLevel uni MlResultTypeable uni BuiltinBLS12_381_MlResult Source # 
Instance details

Defined in PlutusTx.Lift.Class

type FromBuiltin BuiltinBLS12_381_MlResult Source # 
Instance details

Defined in PlutusTx.Builtins.HasBuiltin

byteStringToIntegerByteOrderBuiltinByteStringInteger Source #

Convert a BuiltinByteString to a BuiltinInteger, as described in CIP-121. The first argument indicates the endianness of the conversion and the second is the bytestring to be converted. There is no limitation on the size of the bytestring. The empty bytestring is converted to the integer 0.

integerToByteStringByteOrderIntegerIntegerBuiltinByteString Source #

Convert a BuiltinInteger into a BuiltinByteString, as described in CIP-121. The first argument indicates the endianness of the conversion and the third argument is the integer to be converted, which must be non-negative. The second argument must also be non-negative and it indicates the required width of the output. If the width is zero then the output is the smallest bytestring which can contain the converted input (and in this case, the integer 0 encodes to the empty bytestring). If the width is nonzero then the output bytestring will be padded to the required width with 0x00 bytes (on the left for big-endian conversions and on the right for little-endian conversions); if the input integer is too big to fit into a bytestring of the specified width then the conversion will fail. Conversion will also fail if the specified width is greater than 8192 or the input integer is too big to fit into a bytestring of length 8192.

Conversions

fromBuiltinHasFromBuiltin arep ⇒ arep → FromBuiltin arep Source #

fromOpaqueHasFromOpaque arep a ⇒ arep → a Source #

toOpaqueHasToOpaque a arep ⇒ a → arep Source #