Skip to content

Commit 46a21fb

Browse files
committed
change legacy (old) runtimeApi params encoding
1 parent 8d7de2c commit 46a21fb

File tree

3 files changed

+17
-7
lines changed

3 files changed

+17
-7
lines changed

async_substrate_interface/async_substrate.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3055,7 +3055,9 @@ async def _do_runtime_call_old(
30553055
param_data = b""
30563056

30573057
if "encoder" in runtime_call_def:
3058-
param_data = runtime_call_def["encoder"](params)
3058+
if runtime is None:
3059+
runtime = await self.init_runtime(block_hash=block_hash)
3060+
param_data = runtime_call_def["encoder"](params, runtime.registry)
30593061
else:
30603062
for idx, param in enumerate(runtime_call_def["params"]):
30613063
param_type_string = f"{param['type']}"

async_substrate_interface/sync_substrate.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2541,7 +2541,9 @@ def _do_runtime_call_old(
25412541
param_data = b""
25422542

25432543
if "encoder" in runtime_call_def:
2544-
param_data = runtime_call_def["encoder"](params)
2544+
if runtime is None:
2545+
runtime = self.init_runtime(block_hash=block_hash)
2546+
param_data = runtime_call_def["encoder"](params, runtime.registry)
25452547
else:
25462548
for idx, param in enumerate(runtime_call_def["params"]):
25472549
param_type_string = f"{param['type']}"

async_substrate_interface/type_registry.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
SubnetInfoV2,
99
encode,
1010
)
11-
from scalecodec import ss58_encode
11+
from scalecodec import ss58_decode
1212

1313
_TYPE_REGISTRY: dict[str, dict] = {
1414
"types": {
@@ -24,7 +24,9 @@
2424
"type": "Vec<u8>",
2525
},
2626
],
27-
"encoder": lambda addr: encode(ss58_encode(addr), "Vec<u8>"),
27+
"encoder": lambda addr, reg: encode(
28+
"Vec<u8>", reg, list(bytes.fromhex(ss58_decode(addr)))
29+
),
2830
"type": "Vec<u8>",
2931
"decoder": DelegateInfo.decode_delegated,
3032
},
@@ -97,7 +99,9 @@
9799
},
98100
],
99101
"type": "Vec<u8>",
100-
"encoder": lambda addr: encode(ss58_encode(addr), "Vec<u8>"),
102+
"encoder": lambda addr, reg: encode(
103+
"Vec<u8>", reg, list(bytes.fromhex(ss58_decode(addr)))
104+
),
101105
"decoder": StakeInfo.decode_vec,
102106
},
103107
"get_stake_info_for_coldkeys": {
@@ -108,8 +112,10 @@
108112
},
109113
],
110114
"type": "Vec<u8>",
111-
"encoder": lambda addrs: encode(
112-
[ss58_encode(addr) for addr in addrs], "Vec<Vec<u8>>"
115+
"encoder": lambda addrs, reg: encode(
116+
"Vec<Vec<u8>>",
117+
reg,
118+
[list(bytes.fromhex(ss58_decode(addr))) for addr in addrs],
113119
),
114120
"decoder": StakeInfo.decode_vec_tuple_vec,
115121
},

0 commit comments

Comments
 (0)