@node cic-eth
@chapter cic-eth

@section Overview

@code{cic-eth} is the heart of the custodial account component. It is a combination of python-celery task queues and daemons that sign, dispatch and monitor blockchain transactions, aswell as triggering tasks contingent on other transactions.

@subsection Dependencies

The @code{cic-registry} module is used as a cache for contracts and tokens on the network.

A web3 JSON-RPC service that transparently proxies a keystore and provides transaction and message signing. The current development version uses the python web3 middleware feature to route methodsi involving the keystore to the module @code{crypto-dev-signer}, which is hosted on @file{pypi.org}.

@subsection What does it do



@subsection Tasks

Two main categories exist for tasks, @code{eth} and @code{queue}.

The @code{eth} tasks provide means to construct and decode Ethereum transactions, as well as interfacing the underlying key store.

Tasks in the @code{queue} module operate on the state of transactions queued for processing by @code{cic-eth}.
