Skip to content

Commit 9959092

Browse files
authored
Merge pull request #161 from opentensor/release/1.4.3
Release/1.4.3
2 parents 5ebd580 + eb2fb65 commit 9959092

File tree

5 files changed

+30
-14
lines changed

5 files changed

+30
-14
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changelog
22

3+
## 1.4.3 /2025-07-28
4+
* Add "Token" to caught error messages for extrinsic receipts by @thewhaleking in https://github.com/opentensor/async-substrate-interface/pull/156
5+
* runtime version switching by @thewhaleking in https://github.com/opentensor/async-substrate-interface/pull/157
6+
7+
**Full Changelog**: https://github.com/opentensor/async-substrate-interface/compare/v1.4.2...v1.4.3
8+
39
## 1.4.2 /2025-07-23
410
* Use scalecodec rather than bt-decode for query_multi by @thewhaleking in https://github.com/opentensor/async-substrate-interface/pull/152
511

async_substrate_interface/async_substrate.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,12 @@ async def process_events(self):
326326
"name": "Other",
327327
"docs": "Unspecified error occurred",
328328
}
329+
elif "Token" in dispatch_error:
330+
self.__error_message = {
331+
"type": "System",
332+
"name": "Token",
333+
"docs": dispatch_error["Token"],
334+
}
329335

330336
elif not has_transaction_fee_paid_event:
331337
if (
@@ -1062,6 +1068,7 @@ async def init_runtime(
10621068
return runtime
10631069

10641070
runtime_version = await self.get_block_runtime_version_for(block_hash)
1071+
10651072
if runtime_version is None:
10661073
raise SubstrateRequestException(
10671074
f"No runtime information for block '{block_hash}'"

async_substrate_interface/sync_substrate.py

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,12 @@ def process_events(self):
293293
"name": "Other",
294294
"docs": "Unspecified error occurred",
295295
}
296+
elif "Token" in dispatch_error:
297+
self.__error_message = {
298+
"type": "System",
299+
"name": "Token",
300+
"docs": dispatch_error["Token"],
301+
}
296302

297303
elif not has_transaction_fee_paid_event:
298304
if (
@@ -767,9 +773,6 @@ def init_runtime(
767773
if block_id is not None:
768774
if runtime := self.runtime_cache.retrieve(block=block_id):
769775
self.runtime = runtime
770-
self.runtime.load_runtime()
771-
if self.runtime.registry:
772-
self.runtime.load_registry_type_map()
773776
return self.runtime
774777
block_hash = self.get_block_hash(block_id)
775778

@@ -779,9 +782,6 @@ def init_runtime(
779782
self.last_block_hash = block_hash
780783
if runtime := self.runtime_cache.retrieve(block_hash=block_hash):
781784
self.runtime = runtime
782-
self.runtime.load_runtime()
783-
if self.runtime.registry:
784-
self.runtime.load_registry_type_map()
785785
return self.runtime
786786

787787
runtime_version = self.get_block_runtime_version_for(block_hash)
@@ -795,15 +795,9 @@ def init_runtime(
795795

796796
if runtime := self.runtime_cache.retrieve(runtime_version=runtime_version):
797797
self.runtime = runtime
798-
self.runtime.load_runtime()
799-
if self.runtime.registry:
800-
self.runtime.load_registry_type_map()
801-
return runtime
798+
return self.runtime
802799
else:
803800
self.runtime = self.get_runtime_for_version(runtime_version, block_hash)
804-
self.runtime.load_runtime()
805-
if self.runtime.registry:
806-
self.runtime.load_registry_type_map()
807801
return self.runtime
808802

809803
def get_runtime_for_version(

async_substrate_interface/types.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,16 +75,25 @@ def retrieve(
7575
runtime = self.blocks.get(block)
7676
if runtime is not None:
7777
self.last_used = runtime
78+
runtime.load_runtime()
79+
if runtime.registry:
80+
runtime.load_registry_type_map()
7881
return runtime
7982
if block_hash is not None:
8083
runtime = self.block_hashes.get(block_hash)
8184
if runtime is not None:
8285
self.last_used = runtime
86+
runtime.load_runtime()
87+
if runtime.registry:
88+
runtime.load_registry_type_map()
8389
return runtime
8490
if runtime_version is not None:
8591
runtime = self.versions.get(runtime_version)
8692
if runtime is not None:
8793
self.last_used = runtime
94+
runtime.load_runtime()
95+
if runtime.registry:
96+
runtime.load_registry_type_map()
8897
return runtime
8998
return None
9099

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "async-substrate-interface"
3-
version = "1.4.2"
3+
version = "1.4.3"
44
description = "Asyncio library for interacting with substrate. Mostly API-compatible with py-substrate-interface"
55
readme = "README.md"
66
license = { file = "LICENSE" }

0 commit comments

Comments
 (0)