#include "anonymous_tokens/cpp/client/anonymous_tokens_rsa_bssa_client.h"
#include <cstddef>
#include <memory>
#include <optional>
#include <string>
#include <utility>
#include <vector>
#include "absl/container/flat_hash_set.h"
#include "absl/status/status.h"
#include "absl/time/time.h"
#include "anonymous_tokens/cpp/crypto/anonymous_tokens_pb_openssl_converters.h"
#include "anonymous_tokens/cpp/crypto/crypto_utils.h"
#include "anonymous_tokens/cpp/shared/proto_utils.h"
#include "anonymous_tokens/cpp/shared/status_utils.h"
#include "anonymous_tokens/proto/anonymous_tokens.pb.h"
namespace anonymous_tokens {
namespace {
absl::Status ValidityChecksForClientCreation(
const RSABlindSignaturePublicKey& public_key) { … }
}
AnonymousTokensRsaBssaClient::AnonymousTokensRsaBssaClient(
const RSABlindSignaturePublicKey& public_key)
: … { … }
absl::StatusOr<std::unique_ptr<AnonymousTokensRsaBssaClient>>
AnonymousTokensRsaBssaClient::Create(
const RSABlindSignaturePublicKey& public_key) { … }
absl::StatusOr<AnonymousTokensSignRequest>
AnonymousTokensRsaBssaClient::CreateRequest(
const std::vector<PlaintextMessageWithPublicMetadata>& inputs) { … }
absl::StatusOr<std::vector<RSABlindSignatureTokenWithInput>>
AnonymousTokensRsaBssaClient::ProcessResponse(
const AnonymousTokensSignResponse& response) { … }
absl::Status AnonymousTokensRsaBssaClient::Verify(
const RSABlindSignaturePublicKey& ,
const RSABlindSignatureToken& ,
const PlaintextMessageWithPublicMetadata& ) { … }
}