diff --git a/async_substrate_interface/async_substrate.py b/async_substrate_interface/async_substrate.py index 7b0072f..b0ca9b0 100644 --- a/async_substrate_interface/async_substrate.py +++ b/async_substrate_interface/async_substrate.py @@ -2574,16 +2574,12 @@ async def query_multi( for change_storage_key, change_data in result_group["changes"]: # Decode result for specified storage_key storage_key = storage_key_map[change_storage_key] - if change_data is None: - change_data = b"" - else: - change_data = bytes.fromhex(change_data[2:]) + if change_data is not None: + change_data = ScaleBytes(change_data) result.append( ( storage_key, - await self.decode_scale( - storage_key.value_scale_type, change_data, runtime=runtime - ), + storage_key.decode_scale_value(change_data).value, ), ) diff --git a/async_substrate_interface/sync_substrate.py b/async_substrate_interface/sync_substrate.py index b7c4c15..7e9ba44 100644 --- a/async_substrate_interface/sync_substrate.py +++ b/async_substrate_interface/sync_substrate.py @@ -2163,14 +2163,12 @@ def query_multi( for change_storage_key, change_data in result_group["changes"]: # Decode result for specified storage_key storage_key = storage_key_map[change_storage_key] - if change_data is None: - change_data = b"\x00" - else: - change_data = bytes.fromhex(change_data[2:]) + if change_data is not None: + change_data = ScaleBytes(change_data) result.append( ( storage_key, - self.decode_scale(storage_key.value_scale_type, change_data), + storage_key.decode_scale_value(change_data).value, ), )