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:
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