web3-0.9.1.0: Web3 API for Haskell.

CopyrightAlexander Krupenkin 2016
LicenseBSD3
Maintainermail@akru.me
Stabilityexperimental
Portabilityunportable
Safe HaskellNone
LanguageHaskell2010

Codec.Scale.Class

Description

 
Synopsis

Documentation

class Encode a where Source #

A class for encoding datatypes to SCALE format.

If your compiler has support for the DeriveGeneric and DefaultSignatures language extensions (ghc >= 7.2.1), the put method will have default generic implementations.

To use this option, simply add a deriving Generic clause to your datatype and declare a Encode instance for it without giving a definition for put.

Minimal complete definition

Nothing

Methods

put :: Putter a Source #

put :: (Generic a, Rep a ~ rep, GEncode rep) => Putter a Source #

Instances
Encode Bool Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter Bool Source #

Encode Int8 Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter Int8 Source #

Encode Int16 Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter Int16 Source #

Encode Int32 Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter Int32 Source #

Encode Int64 Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter Int64 Source #

Encode Word8 Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter Word8 Source #

Encode Word16 Source # 
Instance details

Defined in Codec.Scale.Core

Encode Word32 Source # 
Instance details

Defined in Codec.Scale.Core

Encode Word64 Source # 
Instance details

Defined in Codec.Scale.Core

Encode a => Encode [a] Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter [a] Source #

Encode (Maybe Bool) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter (Maybe Bool) Source #

Encode a => Encode (Maybe a) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter (Maybe a) Source #

(Encode a, Unbox a) => Encode (Vector a) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter (Vector a) Source #

Encode (Vector Bit) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter (Vector Bit) Source #

Integral a => Encode (Compact a) Source # 
Instance details

Defined in Codec.Scale.Compact

Methods

put :: Putter (Compact a) Source #

Encode a => Encode (SingletonEnum a) Source # 
Instance details

Defined in Codec.Scale.SingletonEnum

Encode (Skip a) Source # 
Instance details

Defined in Codec.Scale.Skip

Methods

put :: Putter (Skip a) Source #

(Encode a, Encode b) => Encode (Either a b) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter (Either a b) Source #

(Encode a1, Encode a2) => Encode (a1, a2) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter (a1, a2) Source #

(Encode a1, Encode a2, Encode a3) => Encode (a1, a2, a3) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter (a1, a2, a3) Source #

(Encode a1, Encode a2, Encode a3, Encode a4) => Encode (a1, a2, a3, a4) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter (a1, a2, a3, a4) Source #

(Encode a1, Encode a2, Encode a3, Encode a4, Encode a5) => Encode (a1, a2, a3, a4, a5) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter (a1, a2, a3, a4, a5) Source #

(Encode a1, Encode a2, Encode a3, Encode a4, Encode a5, Encode a6) => Encode (a1, a2, a3, a4, a5, a6) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter (a1, a2, a3, a4, a5, a6) Source #

(Encode a1, Encode a2, Encode a3, Encode a4, Encode a5, Encode a6, Encode a7) => Encode (a1, a2, a3, a4, a5, a6, a7) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter (a1, a2, a3, a4, a5, a6, a7) Source #

(Encode a1, Encode a2, Encode a3, Encode a4, Encode a5, Encode a6, Encode a7, Encode a8) => Encode (a1, a2, a3, a4, a5, a6, a7, a8) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter (a1, a2, a3, a4, a5, a6, a7, a8) Source #

(Encode a1, Encode a2, Encode a3, Encode a4, Encode a5, Encode a6, Encode a7, Encode a8, Encode a9) => Encode (a1, a2, a3, a4, a5, a6, a7, a8, a9) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter (a1, a2, a3, a4, a5, a6, a7, a8, a9) Source #

(Encode a1, Encode a2, Encode a3, Encode a4, Encode a5, Encode a6, Encode a7, Encode a8, Encode a9, Encode a10) => Encode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) Source #

(Encode a1, Encode a2, Encode a3, Encode a4, Encode a5, Encode a6, Encode a7, Encode a8, Encode a9, Encode a10, Encode a11) => Encode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) Source #

(Encode a1, Encode a2, Encode a3, Encode a4, Encode a5, Encode a6, Encode a7, Encode a8, Encode a9, Encode a10, Encode a11, Encode a12) => Encode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) Source #

(Encode a1, Encode a2, Encode a3, Encode a4, Encode a5, Encode a6, Encode a7, Encode a8, Encode a9, Encode a10, Encode a11, Encode a12, Encode a13) => Encode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) Source #

(Encode a1, Encode a2, Encode a3, Encode a4, Encode a5, Encode a6, Encode a7, Encode a8, Encode a9, Encode a10, Encode a11, Encode a12, Encode a13, Encode a14) => Encode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) Source #

(Encode a1, Encode a2, Encode a3, Encode a4, Encode a5, Encode a6, Encode a7, Encode a8, Encode a9, Encode a10, Encode a11, Encode a12, Encode a13, Encode a14, Encode a15) => Encode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) Source #

(Encode a1, Encode a2, Encode a3, Encode a4, Encode a5, Encode a6, Encode a7, Encode a8, Encode a9, Encode a10, Encode a11, Encode a12, Encode a13, Encode a14, Encode a15, Encode a16) => Encode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) Source #

(Encode a1, Encode a2, Encode a3, Encode a4, Encode a5, Encode a6, Encode a7, Encode a8, Encode a9, Encode a10, Encode a11, Encode a12, Encode a13, Encode a14, Encode a15, Encode a16, Encode a17) => Encode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) Source #

(Encode a1, Encode a2, Encode a3, Encode a4, Encode a5, Encode a6, Encode a7, Encode a8, Encode a9, Encode a10, Encode a11, Encode a12, Encode a13, Encode a14, Encode a15, Encode a16, Encode a17, Encode a18) => Encode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) Source #

(Encode a1, Encode a2, Encode a3, Encode a4, Encode a5, Encode a6, Encode a7, Encode a8, Encode a9, Encode a10, Encode a11, Encode a12, Encode a13, Encode a14, Encode a15, Encode a16, Encode a17, Encode a18, Encode a19) => Encode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) Source #

(Encode a1, Encode a2, Encode a3, Encode a4, Encode a5, Encode a6, Encode a7, Encode a8, Encode a9, Encode a10, Encode a11, Encode a12, Encode a13, Encode a14, Encode a15, Encode a16, Encode a17, Encode a18, Encode a19, Encode a20) => Encode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

put :: Putter (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) Source #

class GEncode a where Source #

A class for encoding generically composed datatypes to SCALE format.

Methods

gPut :: Putter a Source #

Instances
(Encode a, GEncode (NP I as)) => GEncode (NP I (a ': as)) Source # 
Instance details

Defined in Codec.Scale.Generic

Methods

gPut :: Putter (NP I (a ': as)) Source #

GEncode (NP I ([] :: [Type])) Source # 
Instance details

Defined in Codec.Scale.Generic

Methods

gPut :: Putter (NP I []) Source #

GEncode (NP f xs) => GEncode (SOP f (xs ': ([] :: [[k]]))) Source # 
Instance details

Defined in Codec.Scale.Generic

Methods

gPut :: Putter (SOP f (xs ': [])) Source #

(GEncode (NP f xs), GEncode (NP f ys), All (Compose GEncode (NP f)) xss) => GEncode (SOP f (xs ': (ys ': xss))) Source # 
Instance details

Defined in Codec.Scale.Generic

Methods

gPut :: Putter (SOP f (xs ': (ys ': xss))) Source #

class Decode a where Source #

A class for decoding datatypes from SCALE format.

If your compiler has support for the DeriveGeneric and DefaultSignatures language extensions (ghc >= 7.2.1), the get method will have default generic implementations.

To use this option, simply add a deriving Generic clause to your datatype and declare a Decode instance for it without giving a definition for get.

Minimal complete definition

Nothing

Methods

get :: Get a Source #

get :: (Generic a, Rep a ~ rep, GDecode rep) => Get a Source #

Instances
Decode Bool Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get Bool Source #

Decode Int8 Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get Int8 Source #

Decode Int16 Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get Int16 Source #

Decode Int32 Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get Int32 Source #

Decode Int64 Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get Int64 Source #

Decode Word8 Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get Word8 Source #

Decode Word16 Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get Word16 Source #

Decode Word32 Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get Word32 Source #

Decode Word64 Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get Word64 Source #

Decode a => Decode [a] Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get [a] Source #

Decode (Maybe Bool) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get (Maybe Bool) Source #

Decode a => Decode (Maybe a) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get (Maybe a) Source #

(Decode a, Unbox a) => Decode (Vector a) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get (Vector a) Source #

Decode (Vector Bit) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get (Vector Bit) Source #

Integral a => Decode (Compact a) Source # 
Instance details

Defined in Codec.Scale.Compact

Methods

get :: Get (Compact a) Source #

Decode a => Decode (SingletonEnum a) Source # 
Instance details

Defined in Codec.Scale.SingletonEnum

Methods

get :: Get (SingletonEnum a) Source #

Default a => Decode (Skip a) Source # 
Instance details

Defined in Codec.Scale.Skip

Methods

get :: Get (Skip a) Source #

(Decode a, Decode b) => Decode (Either a b) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get (Either a b) Source #

(Decode a1, Decode a2) => Decode (a1, a2) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get (a1, a2) Source #

(Decode a1, Decode a2, Decode a3) => Decode (a1, a2, a3) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get (a1, a2, a3) Source #

(Decode a1, Decode a2, Decode a3, Decode a4) => Decode (a1, a2, a3, a4) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get (a1, a2, a3, a4) Source #

(Decode a1, Decode a2, Decode a3, Decode a4, Decode a5) => Decode (a1, a2, a3, a4, a5) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get (a1, a2, a3, a4, a5) Source #

(Decode a1, Decode a2, Decode a3, Decode a4, Decode a5, Decode a6) => Decode (a1, a2, a3, a4, a5, a6) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get (a1, a2, a3, a4, a5, a6) Source #

(Decode a1, Decode a2, Decode a3, Decode a4, Decode a5, Decode a6, Decode a7) => Decode (a1, a2, a3, a4, a5, a6, a7) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get (a1, a2, a3, a4, a5, a6, a7) Source #

(Decode a1, Decode a2, Decode a3, Decode a4, Decode a5, Decode a6, Decode a7, Decode a8) => Decode (a1, a2, a3, a4, a5, a6, a7, a8) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get (a1, a2, a3, a4, a5, a6, a7, a8) Source #

(Decode a1, Decode a2, Decode a3, Decode a4, Decode a5, Decode a6, Decode a7, Decode a8, Decode a9) => Decode (a1, a2, a3, a4, a5, a6, a7, a8, a9) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get (a1, a2, a3, a4, a5, a6, a7, a8, a9) Source #

(Decode a1, Decode a2, Decode a3, Decode a4, Decode a5, Decode a6, Decode a7, Decode a8, Decode a9, Decode a10) => Decode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) Source #

(Decode a1, Decode a2, Decode a3, Decode a4, Decode a5, Decode a6, Decode a7, Decode a8, Decode a9, Decode a10, Decode a11) => Decode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) Source #

(Decode a1, Decode a2, Decode a3, Decode a4, Decode a5, Decode a6, Decode a7, Decode a8, Decode a9, Decode a10, Decode a11, Decode a12) => Decode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) Source #

(Decode a1, Decode a2, Decode a3, Decode a4, Decode a5, Decode a6, Decode a7, Decode a8, Decode a9, Decode a10, Decode a11, Decode a12, Decode a13) => Decode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) Source #

(Decode a1, Decode a2, Decode a3, Decode a4, Decode a5, Decode a6, Decode a7, Decode a8, Decode a9, Decode a10, Decode a11, Decode a12, Decode a13, Decode a14) => Decode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) Source #

(Decode a1, Decode a2, Decode a3, Decode a4, Decode a5, Decode a6, Decode a7, Decode a8, Decode a9, Decode a10, Decode a11, Decode a12, Decode a13, Decode a14, Decode a15) => Decode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) Source #

(Decode a1, Decode a2, Decode a3, Decode a4, Decode a5, Decode a6, Decode a7, Decode a8, Decode a9, Decode a10, Decode a11, Decode a12, Decode a13, Decode a14, Decode a15, Decode a16) => Decode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) Source #

(Decode a1, Decode a2, Decode a3, Decode a4, Decode a5, Decode a6, Decode a7, Decode a8, Decode a9, Decode a10, Decode a11, Decode a12, Decode a13, Decode a14, Decode a15, Decode a16, Decode a17) => Decode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) Source #

(Decode a1, Decode a2, Decode a3, Decode a4, Decode a5, Decode a6, Decode a7, Decode a8, Decode a9, Decode a10, Decode a11, Decode a12, Decode a13, Decode a14, Decode a15, Decode a16, Decode a17, Decode a18) => Decode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) Source #

(Decode a1, Decode a2, Decode a3, Decode a4, Decode a5, Decode a6, Decode a7, Decode a8, Decode a9, Decode a10, Decode a11, Decode a12, Decode a13, Decode a14, Decode a15, Decode a16, Decode a17, Decode a18, Decode a19) => Decode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) Source #

(Decode a1, Decode a2, Decode a3, Decode a4, Decode a5, Decode a6, Decode a7, Decode a8, Decode a9, Decode a10, Decode a11, Decode a12, Decode a13, Decode a14, Decode a15, Decode a16, Decode a17, Decode a18, Decode a19, Decode a20) => Decode (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) Source # 
Instance details

Defined in Codec.Scale.Core

Methods

get :: Get (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) Source #

class GDecode a where Source #

A class for decoding generically composed datatypes from SCALE format.

Methods

gGet :: Get a Source #

Instances
(Decode a, GDecode (NP I as)) => GDecode (NP I (a ': as)) Source # 
Instance details

Defined in Codec.Scale.Generic

Methods

gGet :: Get (NP I (a ': as)) Source #

GDecode (NP I ([] :: [Type])) Source # 
Instance details

Defined in Codec.Scale.Generic

Methods

gGet :: Get (NP I []) Source #

GDecode (NP f as) => GDecode (SOP f (as ': ([] :: [[k]]))) Source # 
Instance details

Defined in Codec.Scale.Generic

Methods

gGet :: Get (SOP f (as ': [])) Source #

(GDecode (NP f xs), GDecode (NP f ys), All (Compose GDecode (NP f)) xss, EnumParser xss) => GDecode (SOP f (xs ': (ys ': xss))) Source # 
Instance details

Defined in Codec.Scale.Generic

Methods

gGet :: Get (SOP f (xs ': (ys ': xss))) Source #