From 8d0a1f589bd31f4899a7cb46826eb2f71f7e1316 Mon Sep 17 00:00:00 2001 From: lash Date: Thu, 28 Apr 2022 12:49:50 +0000 Subject: [PATCH] Update chain interface, add chainqueue settings to cli --- chaind/eth/chain.py | 2 ++ chaind/eth/runnable/queuer.py | 9 +++++++-- chaind/eth/runnable/send.py | 6 +++++- chaind/eth/runnable/syncer.py | 1 + requirements.txt | 2 +- setup.cfg | 2 +- 6 files changed, 17 insertions(+), 5 deletions(-) diff --git a/chaind/eth/chain.py b/chaind/eth/chain.py index d9171cd..7b556f6 100644 --- 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 index 4614c4f..4a6595e 100644 --- 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 index 6ea3ac9..17e6d06 100644 --- 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 index 29f6407..25849dd 100644 --- 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 index a7edbc8..72fe1b5 100644 --- 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 index addb068..576355c 100644 --- 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