/*
   This file is part of TALER
   Copyright (C) 2014-2025 Taler Systems SA

   TALER is free software; you can redistribute it and/or modify it under the
   terms of the GNU Affero General Public License as published by the Free Software
   Foundation; either version 3, or (at your option) any later version.

   TALER is distributed in the hope that it will be useful, but WITHOUT ANY
   WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
   A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more details.

   You should have received a copy of the GNU Affero General Public License along with
   TALER; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
 */
/**
 * @file include/taler/taler_exchange_service.h
 * @brief C interface of libtalerexchange, a C library to use exchange's HTTP API
 *        This library is not thread-safe, all APIs must only be used from a single thread.
 *        This library calls abort() if it runs out of memory. Be aware of these limitations.
 * @author Sree Harsha Totakura <sreeharsha@totakura.in>
 * @author Christian Grothoff
 * @author Özgür Kesim
 */
#ifndef _TALER_EXCHANGE_SERVICE_H
#define _TALER_EXCHANGE_SERVICE_H

/**
 * Version of the Taler Exchange API, in hex.
 * Thus 0.8.4-1 = 0x00080401.
 */
#define TALER_EXCHANGE_API_VERSION 0x00105000

#include <taler/exchange/common.h>  /* UNNECESSARY? */
#include <taler/exchange/get-keys.h>
#include <taler/exchange/post-batch-deposit.h>
#include <taler/exchange/post-coins-COIN_PUB-refund.h>
#include <taler/exchange/get-coins-COIN_PUB-history.h>
#include <taler/exchange/get-reserves-RESERVE_PUB-history.h>
#include <taler/exchange/post-blinding-prepare.h>
#include <taler/exchange/post-withdraw.h>
#include <taler/exchange/post-withdraw_blinded.h>
#include <taler/exchange/post-reveal-withdraw.h>
#include <taler/exchange/post-reveal-melt.h>
#include <taler/exchange/post-melt.h>
#include <taler/exchange/get-transfers-WTID.h>
#include \
  <taler/exchange/get-deposits-H_WIRE-MERCHANT_PUB-H_CONTRACT_TERMS-COIN_PUB.h>
#include <taler/exchange/post-recoup-withdraw.h>
#include <taler/exchange/post-recoup-refresh.h>
#include <taler/exchange/get-kyc-check-H_NORMALIZED_PAYTO.h>
#include <taler/exchange/get-kyc-info-ACCESS_TOKEN.h>
#include <taler/exchange/post-kyc-start-ID.h>
#include <taler/exchange/post-kyc-upload-ID.h>
#include <taler/exchange/get-kyc-proof-PROVIDER_NAME.h>
#include <taler/exchange/post-kyc-wallet.h>
#include <taler/exchange/get-management-keys.h>
#include <taler/exchange/post-management-keys.h>
#include <taler/exchange/post-management-drain.h>
#include \
  <taler/exchange/post-management-denominations-H_DENOM_PUB-revoke.h>
#include <taler/exchange/post-management-signkeys-EXCHANGE_PUB-revoke.h>
#include <taler/exchange/post-management-aml-officers.h>
#include <taler/exchange/get-aml-OFFICER_PUB-measures.h>
#include <taler/exchange/get-aml-OFFICER_PUB-kyc-statistics-NAMES.h>
#include <taler/exchange/post-aml-OFFICER_PUB-decision.h>
#include <taler/exchange/post-management-partners.h>
#include <taler/exchange/post-management-auditors.h>
#include <taler/exchange/post-management-auditors-AUDITOR_PUB-disable.h>
#include <taler/exchange/post-management-wire.h>
#include <taler/exchange/post-management-wire-disable.h>
#include <taler/exchange/post-management-wire-fee.h>
#include <taler/exchange/post-management-global-fees.h>
#include <taler/exchange/post-auditors-AUDITOR_PUB-H_DENOM_PUB.h>
#include <taler/exchange/get-contracts-CONTRACT_PUB.h>
#include <taler/exchange/get-purses-PURSE_PUB-merge.h>
#include <taler/exchange/post-purses-PURSE_PUB-create.h>
#include <taler/exchange/delete-purses-PURSE_PUB.h>
#include <taler/exchange/post-purses-PURSE_PUB-merge.h>
#include <taler/exchange/post-reserves-RESERVE_PUB-purse.h>
#include <taler/exchange/post-purses-PURSE_PUB-deposit.h>
#include <taler/exchange/post-reserves-RESERVE_PUB-open.h>
#include <taler/exchange/get-reserves-attest-RESERVE_PUB.h>
#include <taler/exchange/post-reserves-attest-RESERVE_PUB.h>
#include <taler/exchange/post-reserves-RESERVE_PUB-close.h>
#include <taler/exchange/get-reserves-RESERVE_PUB.h>
#include <taler/exchange/get-aml-OFFICER_PUB-legitimizations.h>
#include \
  <taler/exchange/get-aml-OFFICER_PUB-attributes-H_NORMALIZED_PAYTO.h>
#include <taler/exchange/get-aml-OFFICER_PUB-transfers-credit.h>
#include <taler/exchange/get-aml-OFFICER_PUB-decisions.h>

#endif  /* _TALER_EXCHANGE_SERVICE_H */
