web3-0.8.2.0: Ethereum API for Haskell

CopyrightFOAM team <http://foam.space> 2018
LicenseBSD3
Maintainermail@akru.me
Stabilityexperimental
Portabilityunportable
Safe HaskellNone
LanguageHaskell2010

Network.Ethereum.Contract.Event.MultiFilter

Contents

Description

Support for parallel multiple event filters.

Synopsis

The MultiFilter type

data MultiFilter (es :: [*]) where Source #

MultiFilters

Constructors

NilFilters :: MultiFilter '[] 
(:?) :: Filter e -> MultiFilter es -> MultiFilter (e ': es) infixr 5 

modifyMultiFilter :: (forall e. Filter e -> Filter e) -> MultiFilter es -> MultiFilter es Source #

With geth filters

multiEvent :: (PollFilters es, QueryAllLogs es, MapHandlers Web3 es (WithChange es), AllAllSat '[HasLogIndex] (WithChange es), RecApplicative (WithChange es)) => MultiFilter es -> Handlers es (ReaderT Change Web3 EventAction) -> Web3 (Async ()) Source #

multiEvent' :: (PollFilters es, QueryAllLogs es, MapHandlers Web3 es (WithChange es), AllAllSat '[HasLogIndex] (WithChange es), RecApplicative (WithChange es)) => MultiFilter es -> Handlers es (ReaderT Change Web3 EventAction) -> Web3 () Source #

multiEventMany' :: (PollFilters es, QueryAllLogs es, MapHandlers Web3 es (WithChange es), AllAllSat '[HasLogIndex] (WithChange es), RecApplicative (WithChange es)) => MultiFilter es -> Integer -> Handlers es (ReaderT Change Web3 EventAction) -> Web3 () Source #

Without geth filters

multiEventNoFilter :: (QueryAllLogs es, MapHandlers Web3 es (WithChange es), AllAllSat '[HasLogIndex] (WithChange es), RecApplicative (WithChange es)) => MultiFilter es -> Handlers es (ReaderT Change Web3 EventAction) -> Web3 (Async ()) Source #

multiEventNoFilter' :: (QueryAllLogs es, MapHandlers Web3 es (WithChange es), AllAllSat '[HasLogIndex] (WithChange es), RecApplicative (WithChange es)) => MultiFilter es -> Handlers es (ReaderT Change Web3 EventAction) -> Web3 () Source #

multiEventManyNoFilter' :: (QueryAllLogs es, MapHandlers Web3 es (WithChange es), AllAllSat '[HasLogIndex] (WithChange es), RecApplicative (WithChange es)) => MultiFilter es -> Integer -> Handlers es (ReaderT Change Web3 EventAction) -> Web3 () Source #

Re-exports

type Handlers (ts :: [*]) b = Rec (Handler b) ts #

'Handlers ts b', is essentially a list of functions, one for each type in ts. All functions produce a value of type b. Hence, 'Handlers ts b' would represent something like the type-level list: [t -> b | t in ts ]

newtype Handler b a #

Newtype around functions for a to b

Constructors

H (a -> b) 

data Rec (a :: u -> *) (b :: [u]) :: forall u. (u -> *) -> [u] -> * where #

A record is parameterized by a universe u, an interpretation f and a list of rows rs. The labels or indices of the record are given by inhabitants of the kind u; the type of values at any label r :: u is given by its interpretation f r :: *.

Constructors

RNil :: Rec a ([] :: [u]) 
(:&) :: Rec a (r ': rs) infixr 7 
Instances
RecElem (Rec :: (a -> *) -> [a] -> *) (r :: a) (r ': rs :: [a]) Z 
Instance details

Defined in Data.Vinyl.Lens

Methods

rlens :: Functor g => sing r -> (f r -> g (f r)) -> Rec f (r ': rs) -> g (Rec f (r ': rs)) #

rget :: sing r -> Rec f (r ': rs) -> f r #

rput :: f r -> Rec f (r ': rs) -> Rec f (r ': rs) #

(RIndex r (s ': rs) ~ S i, RElem r rs i) => RecElem (Rec :: (a -> *) -> [a] -> *) (r :: a) (s ': rs :: [a]) (S i) 
Instance details

Defined in Data.Vinyl.Lens

Methods

rlens :: Functor g => sing r -> (f r -> g (f r)) -> Rec f (s ': rs) -> g (Rec f (s ': rs)) #

rget :: sing r -> Rec f (s ': rs) -> f r #

rput :: f r -> Rec f (s ': rs) -> Rec f (s ': rs) #

TestCoercion f => TestCoercion (Rec f :: [u] -> *) 
Instance details

Defined in Data.Vinyl.Core

Methods

testCoercion :: Rec f a -> Rec f b -> Maybe (Coercion a b) #

TestEquality f => TestEquality (Rec f :: [u] -> *) 
Instance details

Defined in Data.Vinyl.Core

Methods

testEquality :: Rec f a -> Rec f b -> Maybe (a :~: b) #

RecSubset (Rec :: (k -> *) -> [k] -> *) ([] :: [k]) (ss :: [k]) ([] :: [Nat]) 
Instance details

Defined in Data.Vinyl.Lens

Methods

rsubset :: Functor g => (Rec f [] -> g (Rec f [])) -> Rec f ss -> g (Rec f ss) #

rcast :: Rec f ss -> Rec f [] #

rreplace :: Rec f [] -> Rec f ss -> Rec f ss #

(RElem r ss i, RSubset rs ss is) => RecSubset (Rec :: (k -> *) -> [k] -> *) (r ': rs :: [k]) (ss :: [k]) (i ': is) 
Instance details

Defined in Data.Vinyl.Lens

Methods

rsubset :: Functor g => (Rec f (r ': rs) -> g (Rec f (r ': rs))) -> Rec f ss -> g (Rec f ss) #

rcast :: Rec f ss -> Rec f (r ': rs) #

rreplace :: Rec f (r ': rs) -> Rec f ss -> Rec f ss #

Eq (Rec f ([] :: [u])) 
Instance details

Defined in Data.Vinyl.Core

Methods

(==) :: Rec f [] -> Rec f [] -> Bool #

(/=) :: Rec f [] -> Rec f [] -> Bool #

(Eq (f r), Eq (Rec f rs)) => Eq (Rec f (r ': rs)) 
Instance details

Defined in Data.Vinyl.Core

Methods

(==) :: Rec f (r ': rs) -> Rec f (r ': rs) -> Bool #

(/=) :: Rec f (r ': rs) -> Rec f (r ': rs) -> Bool #

Ord (Rec f ([] :: [u])) 
Instance details

Defined in Data.Vinyl.Core

Methods

compare :: Rec f [] -> Rec f [] -> Ordering #

(<) :: Rec f [] -> Rec f [] -> Bool #

(<=) :: Rec f [] -> Rec f [] -> Bool #

(>) :: Rec f [] -> Rec f [] -> Bool #

(>=) :: Rec f [] -> Rec f [] -> Bool #

max :: Rec f [] -> Rec f [] -> Rec f [] #

min :: Rec f [] -> Rec f [] -> Rec f [] #

(Ord (f r), Ord (Rec f rs)) => Ord (Rec f (r ': rs)) 
Instance details

Defined in Data.Vinyl.Core

Methods

compare :: Rec f (r ': rs) -> Rec f (r ': rs) -> Ordering #

(<) :: Rec f (r ': rs) -> Rec f (r ': rs) -> Bool #

(<=) :: Rec f (r ': rs) -> Rec f (r ': rs) -> Bool #

(>) :: Rec f (r ': rs) -> Rec f (r ': rs) -> Bool #

(>=) :: Rec f (r ': rs) -> Rec f (r ': rs) -> Bool #

max :: Rec f (r ': rs) -> Rec f (r ': rs) -> Rec f (r ': rs) #

min :: Rec f (r ': rs) -> Rec f (r ': rs) -> Rec f (r ': rs) #

RecAll f rs Show => Show (Rec f rs)

Records may be shown insofar as their points may be shown. reifyConstraint is used to great effect here.

Instance details

Defined in Data.Vinyl.Core

Methods

showsPrec :: Int -> Rec f rs -> ShowS #

show :: Rec f rs -> String #

showList :: [Rec f rs] -> ShowS #

Semigroup (Rec f ([] :: [u])) 
Instance details

Defined in Data.Vinyl.Core

Methods

(<>) :: Rec f [] -> Rec f [] -> Rec f [] #

sconcat :: NonEmpty (Rec f []) -> Rec f [] #

stimes :: Integral b => b -> Rec f [] -> Rec f [] #

(Monoid (f r), Monoid (Rec f rs)) => Semigroup (Rec f (r ': rs)) 
Instance details

Defined in Data.Vinyl.Core

Methods

(<>) :: Rec f (r ': rs) -> Rec f (r ': rs) -> Rec f (r ': rs) #

sconcat :: NonEmpty (Rec f (r ': rs)) -> Rec f (r ': rs) #

stimes :: Integral b => b -> Rec f (r ': rs) -> Rec f (r ': rs) #

Monoid (Rec f ([] :: [u])) 
Instance details

Defined in Data.Vinyl.Core

Methods

mempty :: Rec f [] #

mappend :: Rec f [] -> Rec f [] -> Rec f [] #

mconcat :: [Rec f []] -> Rec f [] #

(Monoid (f r), Monoid (Rec f rs)) => Monoid (Rec f (r ': rs)) 
Instance details

Defined in Data.Vinyl.Core

Methods

mempty :: Rec f (r ': rs) #

mappend :: Rec f (r ': rs) -> Rec f (r ': rs) -> Rec f (r ': rs) #

mconcat :: [Rec f (r ': rs)] -> Rec f (r ': rs) #

Storable (Rec f ([] :: [u])) 
Instance details

Defined in Data.Vinyl.Core

Methods

sizeOf :: Rec f [] -> Int #

alignment :: Rec f [] -> Int #

peekElemOff :: Ptr (Rec f []) -> Int -> IO (Rec f []) #

pokeElemOff :: Ptr (Rec f []) -> Int -> Rec f [] -> IO () #

peekByteOff :: Ptr b -> Int -> IO (Rec f []) #

pokeByteOff :: Ptr b -> Int -> Rec f [] -> IO () #

peek :: Ptr (Rec f []) -> IO (Rec f []) #

poke :: Ptr (Rec f []) -> Rec f [] -> IO () #

(Storable (f r), Storable (Rec f rs)) => Storable (Rec f (r ': rs)) 
Instance details

Defined in Data.Vinyl.Core

Methods

sizeOf :: Rec f (r ': rs) -> Int #

alignment :: Rec f (r ': rs) -> Int #

peekElemOff :: Ptr (Rec f (r ': rs)) -> Int -> IO (Rec f (r ': rs)) #

pokeElemOff :: Ptr (Rec f (r ': rs)) -> Int -> Rec f (r ': rs) -> IO () #

peekByteOff :: Ptr b -> Int -> IO (Rec f (r ': rs)) #

pokeByteOff :: Ptr b -> Int -> Rec f (r ': rs) -> IO () #

peek :: Ptr (Rec f (r ': rs)) -> IO (Rec f (r ': rs)) #

poke :: Ptr (Rec f (r ': rs)) -> Rec f (r ': rs) -> IO () #