diff --git a/bittensor/core/async_subtensor.py b/bittensor/core/async_subtensor.py index 33bd99f76d..a306f9a4bf 100644 --- a/bittensor/core/async_subtensor.py +++ b/bittensor/core/async_subtensor.py @@ -821,7 +821,7 @@ async def all_subnets( decoded = query.decode() - if not isinstance(subnet_prices, SubstrateRequestException): + if not isinstance(subnet_prices, (SubstrateRequestException, ValueError)): for sn in decoded: sn.update( {"price": subnet_prices.get(sn["netuid"], Balance.from_tao(0))} @@ -1155,7 +1155,7 @@ async def get_all_subnets_info( if not result: return [] - if not isinstance(prices, SubstrateRequestException): + if not isinstance(prices, (SubstrateRequestException, ValueError)): for subnet in result: subnet.update({"price": prices.get(subnet["netuid"], 0)}) else: @@ -3858,7 +3858,7 @@ async def subnet( ) if isinstance(decoded := query.decode(), dict): - if isinstance(price, SubstrateRequestException): + if isinstance(price, (SubstrateRequestException, ValueError)): price = None return DynamicInfo.from_dict({**decoded, "price": price}) return None diff --git a/bittensor/core/subtensor.py b/bittensor/core/subtensor.py index fd04dfbc93..4afe9d95e4 100644 --- a/bittensor/core/subtensor.py +++ b/bittensor/core/subtensor.py @@ -462,7 +462,7 @@ def all_subnets(self, block: Optional[int] = None) -> Optional[list["DynamicInfo sn.update( {"price": subnet_prices.get(sn["netuid"], Balance.from_tao(0))} ) - except SubstrateRequestException as e: + except (SubstrateRequestException, ValueError) as e: logging.warning(f"Unable to fetch subnet prices for block {block}: {e}") return DynamicInfo.list_from_dicts(decoded) @@ -655,7 +655,7 @@ def get_all_subnets_info(self, block: Optional[int] = None) -> list["SubnetInfo" for subnet in result: subnet.update({"price": subnets_prices.get(subnet["netuid"], 0)}) - except SubstrateRequestException as e: + except (SubstrateRequestException, ValueError) as e: logging.warning(f"Unable to fetch subnet prices for block {block}: {e}") return SubnetInfo.list_from_dicts(result) @@ -2771,7 +2771,7 @@ def subnet(self, netuid: int, block: Optional[int] = None) -> Optional[DynamicIn if isinstance(decoded := query.decode(), dict): try: price = self.get_subnet_price(netuid=netuid, block=block) - except SubstrateRequestException: + except (SubstrateRequestException, ValueError): price = None return DynamicInfo.from_dict({**decoded, "price": price}) return None