async def METHOD_NAME(
    all_helm_chart_tgts: AllHelmChartTargets,
) -> FirstPartyHelmChartMapping:
    charts_metadata = await MultiGet(
        Get(HelmChartMetadata, HelmChartMetaSourceField, tgt[HelmChartMetaSourceField])
        for tgt in all_helm_chart_tgts
    )
    name_addr_mapping: dict[str, Address] = {}
    duplicate_chart_names: OrderedSet[tuple[str, Address]] = OrderedSet()
    for meta, tgt in zip(charts_metadata, all_helm_chart_tgts):
        if meta.name in name_addr_mapping:
            duplicate_chart_names.add((meta.name, name_addr_mapping[meta.name]))
            duplicate_chart_names.add((meta.name, tgt.address))
            continue
        name_addr_mapping[meta.name] = tgt.address
    if duplicate_chart_names:
        raise DuplicateHelmChartNamesFound(duplicate_chart_names)
    return FirstPartyHelmChartMapping(name_addr_mapping)