Check for ed25519 key is inverted in pick_intro_point()
In pick_intro_point(), we should check that nodes that claim to support ed25519 have a key, not the other way around:
/* Let's do a basic sanity check here so that we don't end up advertising the
* ed25519 identity key of relays that don't actually support the link
* protocol */
if (!node_supports_ed25519_link_authentication(node)) {
tor_assert_nonfatal(ed25519_public_key_is_zero(&info->ed_identity));
}
Also, this check is already done in node_get_ed25519_id() via extend_info_for_node() for ri, but not md. So I think we could also fix this issue by fixing #24001 (moved) instead, and removing the check from pick_intro_point().