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_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
|
||||||
|
|||||||
@@ -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))
|
||||||
|
|||||||
Reference in New Issue
Block a user