exchange

Base system with REST service to issue digital coins, run by the payment service provider
Log | Files | Refs | Submodules | README | LICENSE

control (8669B)


      1 Source: taler-exchange
      2 Section: net
      3 Priority: optional
      4 Maintainer: Christian Grothoff <grothoff@gnu.org>
      5 Build-Depends:
      6  meson,
      7  ninja-build,
      8  bash,
      9  gcc,
     10  debhelper-compat (= 12),
     11  gettext,
     12  libgnunet-dev (>=0.28.1~dev4),
     13  libcurl4-gnutls-dev (>=7.35.0) | libcurl4-openssl-dev (>= 7.35.0),
     14  libgcrypt20-dev (>=1.8),
     15  libgnutls28-dev (>=3.2.12),
     16  libjansson-dev (>= 2.13),
     17  libltdl-dev (>=2.2),
     18  libmicrohttpd-dev (>=1.0.1),
     19  libpq-dev (>=15),
     20  libsodium-dev (>=1.0.11),
     21  libunistring-dev (>=0.9.2),
     22  po-debconf,
     23  texinfo (>=5.2),
     24  zlib1g-dev
     25 Standards-Version: 4.5.0
     26 Vcs-Git: https://salsa.debian.org/debian/taler-exchange.git
     27 Vcs-Browser: https://salsa.debian.org/debian/taler-exchange
     28 Homepage: https://taler.net/
     29 
     30 Package: libtalerexchange
     31 Architecture: any
     32 Pre-Depends:
     33  ${misc:Pre-Depends}
     34 Depends:
     35  lsb-base,
     36  netbase,
     37  ${misc:Depends},
     38  ${shlibs:Depends}
     39 Description: shared libraries to talk to a GNU Taler exchange
     40  GNU Taler is the privacy-preserving digital payment system from the GNU
     41  project. This package contains the shared C libraries used by clients
     42  and services to interact with a Taler exchange via its REST API, to parse
     43  and verify exchange-issued cryptographic objects (denomination keys,
     44  signing keys, deposit confirmations, ...) and to handle Taler amounts.
     45  .
     46  Also included is taler-exchange-config, the command-line tool to read
     47  and edit Taler configuration files, along with the base configuration
     48  fragments and documentation shared by all Taler exchange components.
     49  Every other taler-exchange-* and taler-auditor* package depends on this
     50  one.
     51 
     52 Package: taler-terms-generator
     53 Architecture: any
     54 Pre-Depends:
     55  ${misc:Pre-Depends}
     56 Depends:
     57  libtalerexchange,
     58  lsb-base,
     59  pandoc,
     60  groff,
     61  ghostscript,
     62  ${misc:Depends}
     63 Description: generator for GNU Taler terms of service and privacy policy
     64  taler-terms-generator converts a reStructuredText source document into
     65  the bundle of HTML, Markdown, plain-text, EPUB and PDF renderings (and
     66  multiple languages) that a Taler service expects to find on disk in
     67  order to answer the /terms and /pp REST endpoints with the appropriate
     68  content negotiation.
     69  .
     70  It is useful for GNU Taler exchange, merchant and auditor operators who
     71  wish to publish or update their legal documents. Pandoc, groff and
     72  Ghostscript are pulled in as runtime dependencies to perform the
     73  conversions.
     74 
     75 Package: taler-exchange-database
     76 Architecture: any
     77 Pre-Depends:
     78  ${misc:Pre-Depends}
     79 Depends:
     80  lsb-base,
     81  netbase,
     82  ${misc:Depends},
     83  ${shlibs:Depends}
     84 Description: database initialisation tool for the GNU Taler exchange
     85  GNU Taler is the privacy-preserving digital payment system from the GNU
     86  project. This package contains taler-exchange-dbinit together with the
     87  SQL resource files it loads. The tool creates the schema, indices,
     88  customisation hooks and (optionally) the auditor notification triggers
     89  used by the exchange and the auditor in their PostgreSQL database, and
     90  supports incremental garbage collection and shard-lock recovery after
     91  crashes.
     92  .
     93  Both taler-exchange and taler-auditor depend on this package, as the
     94  two services share a database layout and the same setup tooling. A
     95  PostgreSQL server (>= 15) is required at runtime.
     96 
     97 Package: taler-exchange
     98 Architecture: any
     99 Pre-Depends:
    100  ${misc:Pre-Depends}
    101 Depends:
    102  libtalerexchange (= ${binary:Version}),
    103  taler-exchange-database (= ${binary:Version}),
    104  adduser,
    105  lsb-base,
    106  netbase,
    107  ucf,
    108  ${misc:Depends},
    109  ${shlibs:Depends}
    110 Recommends:
    111   taler-exchange-offline (= ${binary:Version}),
    112   taler-terms-generator,
    113   taler-exchange-typst,
    114   taler-exchange-aml-webui,
    115   taler-exchange-kyc-webui,
    116   apache2 | nginx | httpd,
    117   robocop,
    118   postgresql (>=15.0)
    119 Description: GNU Taler payment system - exchange operator daemons
    120  GNU Taler is the privacy-preserving digital payment system from the GNU
    121  project. The exchange is the central service operated by a payment
    122  service provider or bank to issue and redeem digital coins for a given
    123  currency; at least one exchange must be operated per currency.
    124  .
    125  This package ships the daemons required to run an exchange in
    126  production:
    127   * taler-exchange-httpd, the public REST frontend talked to by wallets
    128     and merchant backends;
    129   * taler-exchange-secmod-rsa, -cs and -eddsa, the security modules that
    130     hold the online signing keys and communicate with the HTTPD over
    131     UNIX-domain sockets;
    132   * taler-exchange-aggregator, -transfer, -wirewatch and -closer, which
    133     drive the interaction with the bank (aggregating deposits, executing
    134     outgoing wire transfers, observing incoming transfers, and refunding
    135     abandoned reserves);
    136   * taler-exchange-expire, -sanctionscheck and the KYC/AML pipeline
    137     helpers (taler-exchange-kyc-* converters and triggers).
    138  .
    139  Running an exchange additionally requires the air-gapped offline-signing
    140  tool packaged as taler-exchange-offline (recommended). It is also
    141  recommended to run a taler-auditor to check the operation and determine
    142  expected balance in the escrow account and profits from fees.
    143 
    144 Package: taler-exchange-offline
    145 Architecture: any
    146 Pre-Depends:
    147  ${misc:Pre-Depends}
    148 Depends:
    149  libtalerexchange (= ${binary:Version}),
    150  adduser,
    151  lsb-base,
    152  netbase,
    153  ${misc:Depends},
    154  ${shlibs:Depends}
    155 Description: air-gapped signing tool for the GNU Taler exchange master key
    156  A GNU Taler exchange uses a long-term offline master key to sign its
    157  online signing keys, denomination keys, fee structure, bank account
    158  details, auditor and partner-exchange registrations, AML staff entries
    159  and key-revocation messages. The corresponding master public key forms
    160  the root of the Taler PKI embedded in consumer wallets and merchant
    161  backends, so the private key must be protected with great care.
    162  .
    163  This package contains taler-exchange-offline, the command-line tool
    164  used to set up the master key, download future signing material from a
    165  running exchange, inspect and sign it offline, and upload the resulting
    166  signatures back to the exchange. It is recommended to install
    167  this package on a dedicated machine that is never connected to the
    168  Internet; it also must be installed on some online system to
    169  download key material from the exchange and to upload signatures and
    170  configuration data to the exchange.
    171 
    172 Package: taler-exchange-typst
    173 Architecture: any
    174 Depends:
    175  pdftk
    176 Recommends:
    177  typst
    178 Description: Typst templates for GNU Taler exchange PDF generation
    179  This package ships the Typst templates that the GNU Taler
    180  exchange uses to render PDF artefacts (such as receipts and reports)
    181  from structured data.
    182  .
    183  The pdftk dependency is required at runtime to assemble the resulting
    184  PDFs; the typst compiler itself is recommended but kept optional as
    185  distros still often lack a native Typst package and thus operators
    186  are likely to supply a locally built or vendored Typst compiler.
    187 
    188 Package: taler-auditor
    189 Architecture: any
    190 Pre-Depends:
    191  ${misc:Pre-Depends}
    192 Depends:
    193  libtalerexchange (= ${binary:Version}),
    194  taler-exchange-database (= ${binary:Version}),
    195  taler-auditor-webui,
    196  adduser,
    197  lsb-base,
    198  netbase,
    199  ${misc:Depends},
    200  ${shlibs:Depends}
    201 Description: GNU Taler payment system - independent auditor
    202  GNU Taler is the privacy-preserving digital payment system from the GNU
    203  project. An auditor is an independent third party (or the exchange
    204  operator themselves) that verifies the correct operation
    205  of a Taler exchange: it checks all cryptographic signatures recorded in
    206  the exchange's database, recomputes balances, and reconciles the
    207  reported state against the bank account, alerting the operator to any
    208  inconsistencies and computing expected balance, revenue and risk
    209  exposure.
    210  .
    211  This package provides the taler-auditor incremental audit tool, the
    212  long-running taler-auditor-httpd REST service, the taler-auditor-sync
    213  helper that maintains a safe replica of the exchange database, and the
    214  corresponding helper daemons. The offline-signing tool used
    215  by the auditor is also included.
    216 
    217 Package: libtalerexchange-dev
    218 Section: libdevel
    219 Architecture: any
    220 Depends:
    221  libtalerexchange (= ${binary:Version}),
    222  libgnunet-dev (>=0.28.1~dev4),
    223  libgcrypt20-dev (>=1.8),
    224  libmicrohttpd-dev (>=1.0.1),
    225  ${misc:Depends},
    226  ${shlibs:Depends}
    227 Description: GNU Taler exchange client libraries - development files
    228  This package contains the C header files, static libraries and
    229  pkg-config files needed to build software against the GNU Taler
    230  exchange client libraries shipped in libtalerexchange.
    231  .
    232  It also installs taler-fakebank-run, an in-memory implementation of the
    233  Taler Wire Gateway API used by the Taler test suite. The fake bank is
    234  not suitable for production use: all transaction state is kept in RAM
    235  and lost on shutdown.