plutus-core-1.70.0.0: Language library for Plutus Core
Safe HaskellSafe-Inferred
LanguageHaskell2010

PlutusCore.Flat.Encoder.Prim

Description

Encoding Primitives

Synopsis

Documentation

eBits16F ∷ NumBits → Word16 → Prim Source #

Encode up to 9 bits

eBitsF ∷ NumBits → Word8 → Prim Source #

Encode up to 8 bits.

eUTF16F ∷ Text → Prim Source #

Encode text as UTF16 and encode the result as an array of bytes

eUTF8F ∷ Text → Prim Source #

Encode text as UTF8 and encode the result as an array of bytes

eLazyBytesF ∷ ByteString → Prim Source #

Encode a Lazy ByteString

eFillerF ∷ Prim Source #

>>> enc $ eTrueF >=> eFillerF
"10000001"
>>> enc eFillerF
"00000001"

eTrueF ∷ Prim Source #

>>> enc eTrueF
"1"

eFalseF ∷ Prim Source #

>>> enc eFalseF
"0"

varWordF ∷ (Bits t, Integral t) ⇒ t → Prim Source #

updateWord8 ∷ Word8 → S → Prim Source #

>>> enc $ \s-> eWord8F 0 s >>= updateWord8 255 s
"11111111"
>>> enc $ \s0 -> eTrueF s0 >>= \s1 -> eWord8F 255 s1 >>= eWord8F 255 >>= updateWord8 0 s1
"10000000 01111111 1"
>>> enc $ \s0 -> eFalseF s0 >>= \s1 -> eWord8F 0 s1 >>= updateWord8 255 s1
"01111111 1"
>>> enc $ \s0 -> eFalseF s0 >>= \s1 -> eWord8F 0 s1 >>= updateWord8 255 s1 >>= eFalseF
"01111111 10"
>>> enc $ \s0 -> eTrueF s0 >>= \s1 -> eWord8F 255 s1 >>= eTrueF >>= updateWord8 0 s1 >>= eTrueF
"10000000 011"

Since: 0.5

w7l ∷ (Bits t, Integral t) ⇒ t → [Word8] Source #

Exported for testing only