Skip to content

Commit bf1ed8c

Browse files
committed
WIP [do not use yet]
1 parent c5e1b43 commit bf1ed8c

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

async_substrate_interface/sync_substrate.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2506,7 +2506,7 @@ def _do_runtime_call_old(
25062506
param_data = b""
25072507

25082508
if "encoder" in runtime_call_def:
2509-
param_data = runtime_call_def["encoder"](params)
2509+
param_data = [runtime_call_def["encoder"](params, self.runtime.registry)]
25102510
else:
25112511
for idx, param in enumerate(runtime_call_def["params"]):
25122512
param_type_string = f"{param['type']}"

async_substrate_interface/type_registry.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,12 @@
88
SubnetInfoV2,
99
encode,
1010
)
11-
from scalecodec import ss58_encode
11+
from scalecodec import ss58_decode
12+
13+
14+
def ss58_to_bytes(ss58_string):
15+
return bytes.fromhex(ss58_decode(ss58_string))
16+
1217

1318
_TYPE_REGISTRY: dict[str, dict] = {
1419
"types": {
@@ -24,7 +29,7 @@
2429
"type": "Vec<u8>",
2530
},
2631
],
27-
"encoder": lambda addr: encode(ss58_encode(addr), "Vec<u8>"),
32+
"encoder": lambda addr, registry: encode("Vec<u8>", registry, ss58_to_bytes(addr[0] if isinstance(addr, list) else next(iter(addr.values())))),
2833
"type": "Vec<u8>",
2934
"decoder": DelegateInfo.decode_delegated,
3035
},
@@ -97,7 +102,7 @@
97102
},
98103
],
99104
"type": "Vec<u8>",
100-
"encoder": lambda addr: encode(ss58_encode(addr), "Vec<u8>"),
105+
"encoder": lambda addr, registry: encode("Vec<u8>", registry, ss58_to_bytes(addr[0] if isinstance(addr, list) else next(iter(addr.values())))),
101106
"decoder": StakeInfo.decode_vec,
102107
},
103108
"get_stake_info_for_coldkeys": {
@@ -108,8 +113,10 @@
108113
},
109114
],
110115
"type": "Vec<u8>",
111-
"encoder": lambda addrs: encode(
112-
[ss58_encode(addr) for addr in addrs], "Vec<Vec<u8>>"
116+
"encoder": lambda addrs, registry: encode(
117+
"Vec<Vec<u8>>",
118+
registry,
119+
[ss58_to_bytes(x) for x in (addrs if isinstance(addrs, list) else list(addrs.values()))],
113120
),
114121
"decoder": StakeInfo.decode_vec_tuple_vec,
115122
},

0 commit comments

Comments
 (0)