Safe Haskell | None |
---|---|
Language | Haskell98 |
Shelley.Spec.Ledger.Serialization
Synopsis
- class Typeable a => ToCBORGroup a where
- toCBORGroup :: a -> Encoding
- encodedGroupSizeExpr :: (forall x. ToCBOR x => Proxy x -> Size) -> Proxy a -> Size
- listLen :: a -> Word
- listLenBound :: Proxy a -> Word
- class Typeable a => FromCBORGroup a where
- fromCBORGroup :: Decoder s a
- newtype CBORGroup a = CBORGroup {
- unCBORGroup :: a
- newtype CborSeq a = CborSeq {
- unwrapCborSeq :: Seq a
- decodeList :: Decoder s a -> Decoder s [a]
- decodeSeq :: Decoder s a -> Decoder s (Seq a)
- decodeStrictSeq :: Decoder s a -> Decoder s (StrictSeq a)
- decodeSet :: Ord a => Decoder s a -> Decoder s (Set a)
- decodeMap :: Ord a => Decoder s a -> Decoder s b -> Decoder s (Map a b)
- decodeMapContents :: Decoder s a -> Decoder s [a]
- decodeMapTraverse :: (Ord a, Applicative t) => Decoder s (t a) -> Decoder s (t b) -> Decoder s (t (Map a b))
- decodeMaybe :: Decoder s a -> Decoder s (Maybe a)
- decodeRecordNamed :: Text -> (a -> Int) -> Decoder s a -> Decoder s a
- decodeRecordSum :: String -> (Word -> Decoder s (Int, a)) -> Decoder s a
- decodeNullMaybe :: Decoder s a -> Decoder s (Maybe a)
- encodeFoldable :: (ToCBOR a, Foldable f) => f a -> Encoding
- encodeFoldableEncoder :: Foldable f => (a -> Encoding) -> f a -> Encoding
- encodeFoldableMapEncoder :: Foldable f => (Word -> a -> Maybe Encoding) -> f a -> Encoding
- encodeNullMaybe :: (a -> Encoding) -> Maybe a -> Encoding
- encodeMap :: (a -> Encoding) -> (b -> Encoding) -> Map a b -> Encoding
- groupRecord :: forall a s. (ToCBORGroup a, FromCBORGroup a) => Decoder s a
- ratioToCBOR :: ToCBOR a => Ratio a -> Encoding
- ratioFromCBOR :: (Integral a, FromCBOR a) => Decoder s (Ratio a)
- mapToCBOR :: (ToCBOR a, ToCBOR b) => Map a b -> Encoding
- mapFromCBOR :: (Ord a, FromCBOR a, FromCBOR b) => Decoder s (Map a b)
- ipv4ToBytes :: IPv4 -> ByteString
- ipv4FromBytes :: ByteString -> Either String IPv4
- ipv4ToCBOR :: IPv4 -> Encoding
- ipv4FromCBOR :: Decoder s IPv4
- ipv6ToBytes :: IPv6 -> ByteString
- ipv6FromBytes :: ByteString -> Either String IPv6
- ipv6ToCBOR :: IPv6 -> Encoding
- ipv6FromCBOR :: Decoder s IPv6
- listLenInt :: ToCBORGroup a => a -> Int
- runByteBuilder :: Int -> Builder -> ByteString
- utcTimeToCBOR :: UTCTime -> Encoding
- utcTimeFromCBOR :: Decoder s UTCTime
Documentation
class Typeable a => ToCBORGroup a where Source #
Methods
toCBORGroup :: a -> Encoding Source #
encodedGroupSizeExpr :: (forall x. ToCBOR x => Proxy x -> Size) -> Proxy a -> Size Source #
listLenBound :: Proxy a -> Word Source #
Instances
ToCBORGroup ProtVer Source # | |
ToCBORGroup Ptr Source # | |
Crypto crypto => ToCBORGroup (OCert crypto) Source # | |
Crypto crypto => ToCBORGroup (PoolParams crypto) Source # | |
Defined in Shelley.Spec.Ledger.TxBody Methods toCBORGroup :: PoolParams crypto -> Encoding Source # encodedGroupSizeExpr :: (forall x. ToCBOR x => Proxy x -> Size) -> Proxy (PoolParams crypto) -> Size Source # listLen :: PoolParams crypto -> Word Source # listLenBound :: Proxy (PoolParams crypto) -> Word Source # | |
Era era => ToCBORGroup (TxSeq era) Source # | |
class Typeable a => FromCBORGroup a where Source #
Methods
fromCBORGroup :: Decoder s a Source #
Instances
FromCBORGroup ProtVer Source # | |
Defined in Shelley.Spec.Ledger.PParams Methods fromCBORGroup :: Decoder s ProtVer Source # | |
FromCBORGroup Ptr Source # | |
Defined in Shelley.Spec.Ledger.Credential Methods fromCBORGroup :: Decoder s Ptr Source # | |
Crypto crypto => FromCBORGroup (OCert crypto) Source # | |
Defined in Shelley.Spec.Ledger.OCert Methods fromCBORGroup :: Decoder s (OCert crypto) Source # | |
Crypto crypto => FromCBORGroup (PoolParams crypto) Source # | |
Defined in Shelley.Spec.Ledger.TxBody Methods fromCBORGroup :: Decoder s (PoolParams crypto) Source # |
Constructors
CBORGroup | |
Fields
|
Instances
ToCBORGroup a => ToCBOR (CBORGroup a) Source # | |
(FromCBORGroup a, ToCBORGroup a) => FromCBOR (CBORGroup a) Source # | |
Constructors
CborSeq | |
Fields
|
Instances
Foldable CborSeq Source # | |
Defined in Shelley.Spec.Ledger.Serialization Methods fold :: Monoid m => CborSeq m -> m # foldMap :: Monoid m => (a -> m) -> CborSeq a -> m # foldMap' :: Monoid m => (a -> m) -> CborSeq a -> m # foldr :: (a -> b -> b) -> b -> CborSeq a -> b # foldr' :: (a -> b -> b) -> b -> CborSeq a -> b # foldl :: (b -> a -> b) -> b -> CborSeq a -> b # foldl' :: (b -> a -> b) -> b -> CborSeq a -> b # foldr1 :: (a -> a -> a) -> CborSeq a -> a # foldl1 :: (a -> a -> a) -> CborSeq a -> a # elem :: Eq a => a -> CborSeq a -> Bool # maximum :: Ord a => CborSeq a -> a # minimum :: Ord a => CborSeq a -> a # | |
ToCBOR a => ToCBOR (CborSeq a) Source # | |
FromCBOR a => FromCBOR (CborSeq a) Source # | |
decodeList :: Decoder s a -> Decoder s [a] Source #
decodeMapContents :: Decoder s a -> Decoder s [a] Source #
decodeMapTraverse :: (Ord a, Applicative t) => Decoder s (t a) -> Decoder s (t b) -> Decoder s (t (Map a b)) Source #
groupRecord :: forall a s. (ToCBORGroup a, FromCBORGroup a) => Decoder s a Source #
ipv4ToBytes :: IPv4 -> ByteString Source #
ipv4FromBytes :: ByteString -> Either String IPv4 Source #
ipv4ToCBOR :: IPv4 -> Encoding Source #
ipv4FromCBOR :: Decoder s IPv4 Source #
ipv6ToBytes :: IPv6 -> ByteString Source #
ipv6FromBytes :: ByteString -> Either String IPv6 Source #
ipv6ToCBOR :: IPv6 -> Encoding Source #
ipv6FromCBOR :: Decoder s IPv6 Source #
listLenInt :: ToCBORGroup a => a -> Int Source #
runByteBuilder :: Int -> Builder -> ByteString Source #
Run a ByteString Builder
using a strategy aimed at making smaller
things efficiently.
It takes a size hint and produces a strict ByteString
. This will be fast
when the size hint is the same or slightly bigger than the true size.
utcTimeToCBOR :: UTCTime -> Encoding Source #
utcTimeFromCBOR :: Decoder s UTCTime Source #