diff --git a/src/dexorder/addrmeta.py b/src/dexorder/addrmeta.py index 4cdf066..4900f65 100644 --- a/src/dexorder/addrmeta.py +++ b/src/dexorder/addrmeta.py @@ -19,7 +19,9 @@ class AddressMetadata (TypedDict): def save_addrmeta(address: str, meta: AddressMetadata): - if meta['type'] == 'Token': + if meta is None: + pass + elif meta['type'] == 'Token': meta: OldTokenDict updated = Token.load(meta) token = db.session.get(Token, (current_chain.get().id, address)) diff --git a/src/dexorder/pools.py b/src/dexorder/pools.py index 947b871..ba6a7e8 100644 --- a/src/dexorder/pools.py +++ b/src/dexorder/pools.py @@ -27,16 +27,12 @@ async def get_pool(address: str) -> OldPoolDict: # noinspection PyTypeChecker result: OldPoolDict = address_metadata[address] except KeyError: - result = await load_pool(address) - if result is not None: - address_metadata[address] = result + result = address_metadata[address] = await load_pool(address) else: if (result['exchange'] == Exchange.UniswapV3.value and (result['base'] == ADDRESS_0 or result['quote'] == ADDRESS_0)): log.warning(f'Repairing bad pool {address}') - result = await load_pool(address, use_db=False) - if result is not None: - address_metadata[address] = result + result = address_metadata[address] = await load_pool(address, use_db=False) return result diff --git a/src/dexorder/tokens.py b/src/dexorder/tokens.py index 75bce5e..a85d678 100644 --- a/src/dexorder/tokens.py +++ b/src/dexorder/tokens.py @@ -52,9 +52,7 @@ async def get_token(address) -> Optional[OldTokenDict]: # noinspection PyTypeChecker return address_metadata[address] except KeyError: - result = await load_token(address) - if result is not None: - address_metadata[address] = result + result = address_metadata[address] = await load_token(address) return result