def METHOD_NAME(weighted_vouch_matrix, pretrusts: NDArray):
    """
    Return a vector of trust scores per user, given the vouch network
    and the pre-trust scores (based on user's email domains).
    ByzTrust is inspired from EigenTrust.
    """
    trusts = pretrusts
    delta = np.inf
    while delta >= APPROXIMATION_ERROR:
        # Apply vouch decay
        new_trusts = pretrusts + VOUCH_DECAY * weighted_vouch_matrix.T.dot(trusts)
        # Clip to avoid power concentration
        new_trusts = new_trusts.clip(max=1.0)
        delta = np.linalg.norm(new_trusts - trusts, ord=1)
        trusts = new_trusts
    return trusts