metadata handling fix

This commit is contained in:
Tim
2024-03-18 18:12:54 -04:00
parent 76ddcb89f7
commit db76ddccac
2 changed files with 15 additions and 10 deletions

View File

@@ -34,4 +34,4 @@ class Config:
mirror_source_rpc_url: Optional[str] = None # source RPC for original pools mirror_source_rpc_url: Optional[str] = None # source RPC for original pools
mirror_env: Optional[str] = None mirror_env: Optional[str] = None
mirror_pools: list[str] = field(default_factory=list) mirror_pools: list[str] = field(default_factory=list)
metadata: Optional[str] = field(default='metadata.json') metadata: Optional[str] = None

View File

@@ -135,13 +135,18 @@ def get_metadata(addr=None, *, chain_id=None):
if config.metadata is None or generating_metadata: if config.metadata is None or generating_metadata:
metadata = None metadata = None
else: else:
with open(config.metadata) as file: try:
metadata = json.load(file) with open(config.metadata) as file:
for chain_id, chain_info in metadata.items(): metadata = json.load(file)
chain_id = int(chain_id) except FileNotFoundError:
for t in chain_info['t']: log.warning(f'No metadata file at {config.metadata}')
metadata_by_chainaddr[chain_id,t['a']] = t metadata = None
for p in chain_info['p']: else:
metadata_by_chainaddr[chain_id,p['a']] = p for chain_id, chain_info in metadata.items():
log.info(f'Loaded metadata from {config.metadata}') chain_id = int(chain_id)
for t in chain_info['t']:
metadata_by_chainaddr[chain_id,t['a']] = t
for p in chain_info['p']:
metadata_by_chainaddr[chain_id,p['a']] = p
log.info(f'Loaded metadata from {config.metadata}')
return metadata if addr is None else metadata_by_chainaddr.get((chain_id,addr)) return metadata if addr is None else metadata_by_chainaddr.get((chain_id,addr))