def METHOD_NAME(self, attrs: Dict[str, Any]):
    attrs = super().METHOD_NAME(attrs)
    signature_owners = []
    owners_without_safe = []
    signatures = attrs.get("signatures") or []
    safe_addresses = attrs["safes"]
    if signatures:
        valid_owners = self.get_valid_owners(safe_addresses)
        for signature in signatures:
            hash_to_sign = calculate_device_registration_hash(
                attrs["timestamp"],
                attrs["uuid"],
                attrs["cloud_messaging_token"],
                attrs["safes"],
            )
            parsed_signatures = SafeSignature.parse_signature(
                signature, hash_to_sign
            )
            if not parsed_signatures:
                raise ValidationError("Signature cannot be parsed")
            for safe_signature in parsed_signatures:
                if (
                    safe_signature.signature_type != SafeSignatureType.EOA
                    or not safe_signature.is_valid()
                ):
                    raise ValidationError(
                        "An externally owned account signature was expected"
                    )
                owner = safe_signature.owner
                if owner in (signature_owners + owners_without_safe):
                    raise ValidationError(
                        f"Signature for owner={owner} is duplicated"
                    )
                if owner not in valid_owners:
                    owners_without_safe.append(owner)
                    # raise ValidationError(f'Owner={owner} is not an owner of any of the safes={data["safes"]}. '
                    #                       f'Expected hash to sign {hash_to_sign.hex()}')
                else:
                    signature_owners.append(owner)
        if len(signatures) > len(signature_owners + owners_without_safe):
            raise ValidationError(
                "Number of signatures is less than the number of owners detected"
            )
    attrs["owners_registered"] = signature_owners
    attrs["owners_not_registered"] = owners_without_safe
    return attrs