Implement chainlib 0.3.0 structure

This commit is contained in:
lash 2022-05-13 07:12:27 +00:00
parent 7d5ceb9a28
commit 88870dc12d
Signed by: lash
GPG Key ID: 21D2E7BB88C2A746
4 changed files with 41 additions and 39 deletions

1
chainsyncer/__init__.py Normal file
View File

@ -0,0 +1 @@
from .filter import SyncFilter

View File

@ -11,45 +11,45 @@ from chainlib.settings import ChainSettings
logg = logging.getLogger(__name__)
class ChainsyncerSettings(ChainSettings):
def process_sync_backend(self, config):
self.o['SYNCER_BACKEND'] = config.get('SYNCER_BACKEND')
def process_sync_backend(settings, config):
settings.set('SYNCER_BACKEND', config.get('SYNCER_BACKEND'))
return settings
def process_sync_range(self, config):
o = self.o['SYNCER_INTERFACE'].block_latest()
r = self.o['RPC'].do(o)
block_offset = int(strip_0x(r), 16) + 1
logg.info('network block height at startup is {}'.format(block_offset))
def process_sync_range(settings, config):
o = settings.get('SYNCER_INTERFACE').block_latest()
r = settings.get('CONN').do(o)
block_offset = int(strip_0x(r), 16) + 1
logg.info('network block height at startup is {}'.format(block_offset))
keep_alive = False
session_block_offset = 0
block_limit = 0
until = 0
keep_alive = False
session_block_offset = 0
block_limit = 0
until = 0
if config.true('_HEAD'):
self.o['SYNCER_OFFSET'] = block_offset
self.o['SYNCER_LIMIT'] = -1
return
if config.true('_HEAD'):
settings.set('SYNCER_OFFSET', block_offset)
settings.set('SYNCER_LIMIT', -1)
return settings
session_block_offset = int(config.get('SYNCER_OFFSET'))
until = int(config.get('SYNCER_LIMIT'))
session_block_offset = int(config.get('SYNCER_OFFSET'))
until = int(config.get('SYNCER_LIMIT'))
if until > 0:
if until <= session_block_offset:
raise ValueError('sync termination block number must be later than offset ({} >= {})'.format(session_block_offset, until))
block_limit = until
elif until == -1:
keep_alive = True
if until > 0:
if until <= session_block_offset:
raise ValueError('sync termination block number must be later than offset ({} >= {})'.format(session_block_offset, until))
block_limit = until
elif until == -1:
keep_alive = True
if session_block_offset == -1:
session_block_offset = block_offset
elif config.true('_KEEP_ALIVE'):
block_limit = -1
else:
if block_limit == 0:
block_limit = block_offset
self.o['SYNCER_OFFSET'] = session_block_offset
self.o['SYNCER_LIMIT'] = block_limit
if session_block_offset == -1:
session_block_offset = block_offset
elif config.true('_KEEP_ALIVE'):
block_limit = -1
else:
if block_limit == 0:
block_limit = block_offset
settings.set('SYNCER_OFFSET', session_block_offset)
settings.set('SYNCER_LIMIT', block_limit)
return settings

View File

@ -1,5 +1,5 @@
confini~=0.6.0
confini~=0.6.1
semver==2.13.0
hexathon~=0.1.6
chainlib~=0.2.0
hexathon~=0.1.7
chainlib~=0.3.0
shep~=0.2.9

View File

@ -1,6 +1,6 @@
[metadata]
name = chainsyncer
version = 0.4.10
version = 0.4.11
description = Generic blockchain syncer driver
author = Louis Holbrook
author_email = dev@holbrook.no
@ -30,6 +30,7 @@ packages =
chainsyncer.store
chainsyncer.cli
chainsyncer.runnable
chainsyncer.data
#[options.package_data]
#* =