Skip to content

Commit 2cda33e

Browse files
committed
Ensures _make_rpc_request request manager keys are unique to prevent possible lockups.
1 parent 18ce47c commit 2cda33e

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

async_substrate_interface/async_substrate.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2395,6 +2395,9 @@ async def _make_rpc_request(
23952395
) -> RequestResults:
23962396
request_manager = RequestManager(payloads)
23972397

2398+
if len(set(x["id"] for x in payloads)) != len(payloads):
2399+
raise ValueError("Payloads must have unique ids")
2400+
23982401
subscription_added = False
23992402

24002403
async with self.ws as ws:
@@ -3670,6 +3673,7 @@ async def query_map(
36703673
self.decode_ss58,
36713674
)
36723675
else:
3676+
# storage item and value scale type are not included here because this is batch-decoded in rust
36733677
page_batches = [
36743678
result_keys[i : i + page_size]
36753679
for i in range(0, len(result_keys), page_size)

0 commit comments

Comments
 (0)