metadata handling fix
This commit is contained in:
@@ -34,4 +34,4 @@ class Config:
|
||||
mirror_source_rpc_url: Optional[str] = None # source RPC for original pools
|
||||
mirror_env: Optional[str] = None
|
||||
mirror_pools: list[str] = field(default_factory=list)
|
||||
metadata: Optional[str] = field(default='metadata.json')
|
||||
metadata: Optional[str] = None
|
||||
|
||||
@@ -135,13 +135,18 @@ def get_metadata(addr=None, *, chain_id=None):
|
||||
if config.metadata is None or generating_metadata:
|
||||
metadata = None
|
||||
else:
|
||||
with open(config.metadata) as file:
|
||||
metadata = json.load(file)
|
||||
for chain_id, chain_info in metadata.items():
|
||||
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}')
|
||||
try:
|
||||
with open(config.metadata) as file:
|
||||
metadata = json.load(file)
|
||||
except FileNotFoundError:
|
||||
log.warning(f'No metadata file at {config.metadata}')
|
||||
metadata = None
|
||||
else:
|
||||
for chain_id, chain_info in metadata.items():
|
||||
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))
|
||||
|
||||
Reference in New Issue
Block a user