better "addrmeta is None" fix
This commit is contained in:
@@ -19,7 +19,9 @@ class AddressMetadata (TypedDict):
|
|||||||
|
|
||||||
|
|
||||||
def save_addrmeta(address: str, meta: AddressMetadata):
|
def save_addrmeta(address: str, meta: AddressMetadata):
|
||||||
if meta['type'] == 'Token':
|
if meta is None:
|
||||||
|
pass
|
||||||
|
elif meta['type'] == 'Token':
|
||||||
meta: OldTokenDict
|
meta: OldTokenDict
|
||||||
updated = Token.load(meta)
|
updated = Token.load(meta)
|
||||||
token = db.session.get(Token, (current_chain.get().id, address))
|
token = db.session.get(Token, (current_chain.get().id, address))
|
||||||
|
|||||||
@@ -27,16 +27,12 @@ async def get_pool(address: str) -> OldPoolDict:
|
|||||||
# noinspection PyTypeChecker
|
# noinspection PyTypeChecker
|
||||||
result: OldPoolDict = address_metadata[address]
|
result: OldPoolDict = address_metadata[address]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
result = await load_pool(address)
|
result = address_metadata[address] = await load_pool(address)
|
||||||
if result is not None:
|
|
||||||
address_metadata[address] = result
|
|
||||||
else:
|
else:
|
||||||
if (result['exchange'] == Exchange.UniswapV3.value and
|
if (result['exchange'] == Exchange.UniswapV3.value and
|
||||||
(result['base'] == ADDRESS_0 or result['quote'] == ADDRESS_0)):
|
(result['base'] == ADDRESS_0 or result['quote'] == ADDRESS_0)):
|
||||||
log.warning(f'Repairing bad pool {address}')
|
log.warning(f'Repairing bad pool {address}')
|
||||||
result = await load_pool(address, use_db=False)
|
result = address_metadata[address] = await load_pool(address, use_db=False)
|
||||||
if result is not None:
|
|
||||||
address_metadata[address] = result
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -52,9 +52,7 @@ async def get_token(address) -> Optional[OldTokenDict]:
|
|||||||
# noinspection PyTypeChecker
|
# noinspection PyTypeChecker
|
||||||
return address_metadata[address]
|
return address_metadata[address]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
result = await load_token(address)
|
result = address_metadata[address] = await load_token(address)
|
||||||
if result is not None:
|
|
||||||
address_metadata[address] = result
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user