diff --git a/hemera/common/models/current_token_balances.py b/hemera/common/models/current_token_balances.py index 61ddc5b27..f94b1bafb 100644 --- a/hemera/common/models/current_token_balances.py +++ b/hemera/common/models/current_token_balances.py @@ -1,9 +1,19 @@ +from typing import Type + from sqlalchemy import Column, Index, PrimaryKeyConstraint, desc, func, text from sqlalchemy.dialects.postgresql import BIGINT, BOOLEAN, BYTEA, NUMERIC, TIMESTAMP, VARCHAR -from hemera.common.models import HemeraModel -from hemera.common.models.token_balances import token_balances_general_converter +from hemera.common.models import HemeraModel, general_converter from hemera.indexer.domains.current_token_balance import CurrentTokenBalance +from hemera.indexer.domains.token_balance import TokenBalance + + +def current_token_balances_general_converter(table: Type[HemeraModel], data: TokenBalance, is_update=False): + + if data.token_id is None or data.token_id < 0: + data.token_id = 0 + + return general_converter(table, data, is_update) class CurrentTokenBalances(HemeraModel): @@ -31,7 +41,7 @@ def model_domain_mapping(): "domain": CurrentTokenBalance, "conflict_do_update": True, "update_strategy": "EXCLUDED.block_number > address_current_token_balances.block_number", - "converter": token_balances_general_converter, + "converter": current_token_balances_general_converter, } ] diff --git a/hemera/indexer/jobs/export_token_balances_job.py b/hemera/indexer/jobs/export_token_balances_job.py index 609355a85..6a01b88a8 100644 --- a/hemera/indexer/jobs/export_token_balances_job.py +++ b/hemera/indexer/jobs/export_token_balances_job.py @@ -97,7 +97,7 @@ def _process(self, **kwargs): [ CurrentTokenBalance( address=token_balance.address, - token_id=token_balance.token_id, + token_id=0, token_type=token_balance.token_type, token_address=token_balance.token_address, balance=token_balance.balance, @@ -123,8 +123,8 @@ def _collect_all_token_transfers(self): if erc721_token_transfer.token_address not in erc20_tokens: token_transfers.append(erc721_token_transfer) - if ERC1155TokenTransfer.type() in self._data_buff: - token_transfers += self._data_buff[ERC1155TokenTransfer.type()] + # if ERC1155TokenTransfer.type() in self._data_buff: + # token_transfers += self._data_buff[ERC1155TokenTransfer.type()] return token_transfers