def METHOD_NAME(service_type: bytes) -> Tuple[List[str], List[str]]:
    num_nodes = sp_factory_inst.functions.getTotalServiceTypeProviders(
        service_type
    ).call()
    ids_list = list(range(1, num_nodes + 1))
    all_other_nodes = []
    all_other_wallets = []
    # fetch all nodes' info in parallel
    async def fetch_results():
        result = await asyncio.gather(
            *map(
                lambda sp_id: get_async_node(sp_id, sp_factory_inst, service_type),
                ids_list,
            )
        )
        return result
    loop = asyncio.new_event_loop()
    asyncio.set_event_loop(loop)
    resp = asyncio.run(fetch_results())
    for node_info in resp:
        try:
            wallet = node_info[3]
            if wallet != shared_config["delegate"]["owner_wallet"]:
                endpoint = node_info[1]
                if is_fqdn(endpoint):
                    all_other_nodes.append(endpoint)
                    all_other_wallets.append(wallet)
        except Exception as e:
            logger.error(
                f"get_all_other_nodes.py | ERROR in fetching node info {node_info} generated {e}"
            )
    return all_other_nodes, all_other_wallets