chaind-eth

Queue server for ethereum
Log | Files | Refs | README | LICENSE

commit 8d0a1f589bd31f4899a7cb46826eb2f71f7e1316
parent 24a71b6c7f37de51ccd40f414a47dc7a44dda350
Author: lash <dev@holbrook.no>
Date:   Thu, 28 Apr 2022 12:49:50 +0000

Update chain interface, add chainqueue settings to cli

Diffstat:
Mchaind/eth/chain.py | 2++
Mchaind/eth/runnable/queuer.py | 9+++++++--
Mchaind/eth/runnable/send.py | 6+++++-
Mchaind/eth/runnable/syncer.py | 1+
Mrequirements.txt | 2+-
Msetup.cfg | 2+-
6 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/chaind/eth/chain.py b/chaind/eth/chain.py @@ -2,6 +2,7 @@ from chainlib.interface import ChainInterface from chainlib.eth.block import ( block_by_number, + block_latest, Block, ) from chainlib.eth.tx import ( @@ -16,3 +17,4 @@ class EthChainInterface(ChainInterface): self._block_from_src = Block.from_src self._tx_receipt = receipt self._src_normalize = Tx.src_normalize + self._block_latest = block_latest diff --git a/chaind/eth/runnable/queuer.py b/chaind/eth/runnable/queuer.py @@ -6,6 +6,7 @@ import signal # external imports import chainlib.eth.cli import chaind.cli +import chainqueue.cli from chaind.session import SessionController from chaind.setup import Environment from chaind.error import ( @@ -44,14 +45,18 @@ env = Environment(domain='eth', env=os.environ) arg_flags = chainlib.eth.cli.argflag_std_read argparser = chainlib.eth.cli.ArgumentParser(arg_flags) +queue_arg_flags = 0 +chainqueue.cli.process_flags(argparser, queue_arg_flags) + local_arg_flags = chaind.cli.argflag_local_base | chaind.cli.ChaindFlag.DISPATCH | chaind.cli.ChaindFlag.SOCKET chaind.cli.process_flags(argparser, local_arg_flags) args = argparser.parse_args() -base_config_dir = [chaind.cli.config_dir] +base_config_dir = [chainqueue.cli.config_dir, chaind.cli.config_dir] config = chainlib.eth.cli.Config.from_args(args, arg_flags, base_config_dir=base_config_dir) config = chaind.cli.process_config(config, args, local_arg_flags) +config = chainqueue.cli.process_config(config, args, queue_arg_flags) config.add('eth', 'CHAIND_ENGINE', False) config.add('queue', 'CHAIND_COMPONENT', False) logg.debug('config loaded:\n{}'.format(config)) @@ -82,7 +87,7 @@ token_cache_store = CacheTokenTx(chain_spec, normalizer=tx_normalizer) dispatcher = EthDispatcher(conn) queue_adapter = ChaindFsAdapter( settings.get('CHAIN_SPEC'), - settings.get('SESSION_DATA_DIR'), + settings.dir_for('queue'), EthCacheTx, dispatcher, ) diff --git a/chaind/eth/runnable/send.py b/chaind/eth/runnable/send.py @@ -10,6 +10,7 @@ import socket # external imports import chainlib.eth.cli +import chainqueue.cli import chaind.cli from chaind.setup import Environment from chainlib.eth.gas import price @@ -37,12 +38,15 @@ argparser.add_positional('source', required=False, type=str, help='Transaction s local_arg_flags = chaind.cli.argflag_local_socket_client | chaind.cli.ChaindFlag.TOKEN chaind.cli.process_flags(argparser, local_arg_flags) +chainqueue.cli.process_flags(argparser, 0) + args = argparser.parse_args() env = Environment(domain='eth', env=os.environ) -base_config_dir = [chaind.cli.config_dir] +base_config_dir = [chaind.cli.config_dir, chainqueue.cli.config_dir] config = chainlib.eth.cli.Config.from_args(args, arg_flags, base_config_dir=base_config_dir) +config = chainqueue.cli.process_config(config, args, 0) config = chaind.cli.process_config(config, args, local_arg_flags) config.add(args.source, '_SOURCE', False) config.add('eth', 'CHAIND_ENGINE', False) diff --git a/chaind/eth/runnable/syncer.py b/chaind/eth/runnable/syncer.py @@ -57,6 +57,7 @@ settings.process(config) logg.debug('settings:\n{}'.format(settings)) + def main(): queue_adapter = ChaindFsAdapter( settings.get('CHAIN_SPEC'), diff --git a/requirements.txt b/requirements.txt @@ -1,6 +1,6 @@ chaind~=0.1.1 hexathon~=0.1.5 -chainlib-eth~=0.1.0 +chainlib-eth~=0.1.1 pyxdg~=0.27 shep~=0.2.3 funga-eth~=0.6.0 diff --git a/setup.cfg b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = chaind-eth -version = 0.1.3 +version = 0.1.4 description = Queue server for ethereum author = Louis Holbrook author_email = dev@holbrook.no