Skip to content

Commit c5e1b43

Browse files
authored
Merge pull request #157 from opentensor/fix/thewhaleking/runtime-version-switching
runtime version switching
2 parents ffbd7d7 + 6f8d23e commit c5e1b43

File tree

3 files changed

+13
-15
lines changed

3 files changed

+13
-15
lines changed

async_substrate_interface/async_substrate.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ async def process_events(self):
330330
self.__error_message = {
331331
"type": "System",
332332
"name": "Token",
333-
"docs": dispatch_error["Token"]
333+
"docs": dispatch_error["Token"],
334334
}
335335

336336
elif not has_transaction_fee_paid_event:
@@ -1068,6 +1068,7 @@ async def init_runtime(
10681068
return runtime
10691069

10701070
runtime_version = await self.get_block_runtime_version_for(block_hash)
1071+
10711072
if runtime_version is None:
10721073
raise SubstrateRequestException(
10731074
f"No runtime information for block '{block_hash}'"

async_substrate_interface/sync_substrate.py

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ def process_events(self):
297297
self.__error_message = {
298298
"type": "System",
299299
"name": "Token",
300-
"docs": dispatch_error["Token"]
300+
"docs": dispatch_error["Token"],
301301
}
302302

303303
elif not has_transaction_fee_paid_event:
@@ -773,9 +773,6 @@ def init_runtime(
773773
if block_id is not None:
774774
if runtime := self.runtime_cache.retrieve(block=block_id):
775775
self.runtime = runtime
776-
self.runtime.load_runtime()
777-
if self.runtime.registry:
778-
self.runtime.load_registry_type_map()
779776
return self.runtime
780777
block_hash = self.get_block_hash(block_id)
781778

@@ -785,9 +782,6 @@ def init_runtime(
785782
self.last_block_hash = block_hash
786783
if runtime := self.runtime_cache.retrieve(block_hash=block_hash):
787784
self.runtime = runtime
788-
self.runtime.load_runtime()
789-
if self.runtime.registry:
790-
self.runtime.load_registry_type_map()
791785
return self.runtime
792786

793787
runtime_version = self.get_block_runtime_version_for(block_hash)
@@ -801,15 +795,9 @@ def init_runtime(
801795

802796
if runtime := self.runtime_cache.retrieve(runtime_version=runtime_version):
803797
self.runtime = runtime
804-
self.runtime.load_runtime()
805-
if self.runtime.registry:
806-
self.runtime.load_registry_type_map()
807-
return runtime
798+
return self.runtime
808799
else:
809800
self.runtime = self.get_runtime_for_version(runtime_version, block_hash)
810-
self.runtime.load_runtime()
811-
if self.runtime.registry:
812-
self.runtime.load_registry_type_map()
813801
return self.runtime
814802

815803
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

0 commit comments

Comments
 (0)