From 4492d23c47b1e1af2a5a79fe9eff76ddaacdb1f5 Mon Sep 17 00:00:00 2001 From: tim Date: Sun, 16 Mar 2025 21:17:19 -0400 Subject: [PATCH] better "addrmeta is None" fix --- src/dexorder/addrmeta.py | 4 +++- src/dexorder/pools.py | 8 ++------ src/dexorder/tokens.py | 4 +--- 3 files changed, 6 insertions(+), 10 deletions(-) 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