diff --git a/beemapi/graphenerpc.py b/beemapi/graphenerpc.py index e904406eadb7b9a4722265e3b9689862bc64809b..322ff6c91c14b5619eab1a67dfca4384a04e3d09 100644 --- a/beemapi/graphenerpc.py +++ b/beemapi/graphenerpc.py @@ -304,15 +304,35 @@ class GrapheneRPC(object): prefix = None symbols = [] chain_assets = [] - if 'HIVE_CHAIN_ID' in props and 'STEEM_CHAIN_ID' in props: + + prefix_count = {} + for key in props: + if key.split("_")[0] in prefix_count: + prefix_count[key.split("_")[0]] += 1 + else: + prefix_count[key.split("_")[0]] = 1 + if len(prefix_count) > 0: + sorted_prefix_count = sorted(prefix_count.items(), key=lambda x: x[1], reverse=True) + if sorted_prefix_count[0][1] > 1: + blockchain_name = sorted_prefix_count[0][0] + if blockchain_name is None and 'HIVE_CHAIN_ID' in props and 'STEEM_CHAIN_ID' in props: del props['STEEM_CHAIN_ID'] + + for key in props: - if key[-8:] == "CHAIN_ID": + + if key[-8:] == "CHAIN_ID" and blockchain_name is None: chain_id = props[key] blockchain_name = key.split("_")[0] - elif key[-13:] == "CHAIN_VERSION": + elif key[-8:] == "CHAIN_ID" and key.split("_")[0] == blockchain_name: + chain_id = props[key] + elif key[-13:] == "CHAIN_VERSION" and blockchain_name is None: network_version = props[key] - elif key[-14:] == "ADDRESS_PREFIX": + elif key[-13:] == "CHAIN_VERSION" and key.split("_")[0] == blockchain_name: + network_version = props[key] + elif key[-14:] == "ADDRESS_PREFIX" and blockchain_name is None: + prefix = props[key] + elif key[-14:] == "ADDRESS_PREFIX" and key.split("_")[0] == blockchain_name: prefix = props[key] elif key[-6:] == "SYMBOL": value = {}