exchange

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

meson.build (10535B)


      1 # This build file is in the public domain
      2 
      3 install_data('auditor.conf', install_dir: pkgcfgadir)
      4 
      5 install_data('taler-helper-auditor-render.py', install_dir: get_option('bindir'))
      6 
      7 
      8 libauditorreport = library(
      9     'auditorreport',
     10     ['report-lib.c'],
     11     soversion: '0.0.0',
     12     version: '0.0.0',
     13     install_rpath: rpath_option,
     14     dependencies: [
     15         libtalerpq_dep,
     16         libtalerauditordb_dep,
     17         libtalerexchangedb_dep,
     18         libtalerutil_dep,
     19         gnunetutil_dep,
     20         json_dep,
     21     ],
     22     include_directories: [incdir, configuration_inc],
     23     install: true,
     24     install_dir: get_option('libdir'),
     25 )
     26 
     27 libauditorreport_dep = declare_dependency(link_with: libauditorreport)
     28 
     29 executable(
     30     'taler-auditor-dbinit',
     31     ['taler-auditor-dbinit.c'],
     32     dependencies: [
     33         libtalerauditordb_dep,
     34         libtalerutil_dep,
     35         libtalerpq_dep,
     36         gnunetutil_dep,
     37         gcrypt_dep,
     38     ],
     39     include_directories: [incdir, configuration_inc],
     40     install: true,
     41 )
     42 
     43 executable(
     44     'taler-helper-auditor-coins',
     45     ['taler-helper-auditor-coins.c'],
     46     dependencies: [
     47         libtalerutil_dep,
     48         libtalerbank_dep,
     49         libtalerjson_dep,
     50         libtalerexchangedb_dep,
     51         libtalerauditordb_dep,
     52         libauditorreport_dep,
     53         gnunetutil_dep,
     54         gnunetjson_dep,
     55         json_dep,
     56         gcrypt_dep,
     57     ],
     58     include_directories: [incdir, configuration_inc],
     59     install: true,
     60 )
     61 
     62 
     63 executable(
     64     'taler-helper-auditor-aggregation',
     65     ['taler-helper-auditor-aggregation.c'],
     66     dependencies: [
     67         libtalerutil_dep,
     68         libtalerbank_dep,
     69         libtalerjson_dep,
     70         libtalerexchangedb_dep,
     71         libtalerauditordb_dep,
     72         libauditorreport_dep,
     73         gnunetutil_dep,
     74         gnunetjson_dep,
     75         json_dep,
     76         gcrypt_dep,
     77     ],
     78     include_directories: [incdir, configuration_inc],
     79     install: true,
     80 )
     81 
     82 
     83 executable(
     84     'taler-helper-auditor-aml',
     85     ['taler-helper-auditor-aml.c'],
     86     dependencies: [
     87         libtalerutil_dep,
     88         libtalerjson_dep,
     89         libtalerexchangedb_dep,
     90         libtalerauditordb_dep,
     91         libauditorreport_dep,
     92         gnunetutil_dep,
     93         gnunetjson_dep,
     94         json_dep,
     95         gcrypt_dep,
     96     ],
     97     include_directories: [incdir, configuration_inc],
     98     install: true,
     99 )
    100 
    101 
    102 executable(
    103     'taler-helper-auditor-deposits',
    104     ['taler-helper-auditor-deposits.c'],
    105     dependencies: [
    106         libtalerutil_dep,
    107         libtalerbank_dep,
    108         libtalerjson_dep,
    109         libtalerexchangedb_dep,
    110         libtalerauditordb_dep,
    111         libauditorreport_dep,
    112         gnunetutil_dep,
    113         gnunetjson_dep,
    114         json_dep,
    115         gcrypt_dep,
    116     ],
    117     include_directories: [incdir, configuration_inc],
    118     install: true,
    119 )
    120 
    121 
    122 executable(
    123     'taler-helper-auditor-purses',
    124     ['taler-helper-auditor-purses.c'],
    125     dependencies: [
    126         libtalerutil_dep,
    127         libtalerbank_dep,
    128         libtalerjson_dep,
    129         libtalerexchangedb_dep,
    130         libtalerauditordb_dep,
    131         libauditorreport_dep,
    132         gnunetutil_dep,
    133         gnunetjson_dep,
    134         json_dep,
    135         gcrypt_dep,
    136     ],
    137     include_directories: [incdir, configuration_inc],
    138     install: true,
    139 )
    140 
    141 
    142 executable(
    143     'taler-helper-auditor-reserves',
    144     ['taler-helper-auditor-reserves.c'],
    145     dependencies: [
    146         libtalerutil_dep,
    147         libtalerbank_dep,
    148         libtalerjson_dep,
    149         libtalerexchangedb_dep,
    150         libtalerauditordb_dep,
    151         libauditorreport_dep,
    152         gnunetutil_dep,
    153         gnunetjson_dep,
    154         json_dep,
    155         gcrypt_dep,
    156     ],
    157     include_directories: [incdir, configuration_inc],
    158     install: true,
    159 )
    160 
    161 
    162 executable(
    163     'taler-helper-auditor-transfer',
    164     ['taler-helper-auditor-transfer.c'],
    165     dependencies: [
    166         libtalerutil_dep,
    167         libtalerjson_dep,
    168         libtalerexchangedb_dep,
    169         libtalerauditordb_dep,
    170         libauditorreport_dep,
    171         gnunetutil_dep,
    172         gnunetjson_dep,
    173         json_dep,
    174         gcrypt_dep,
    175     ],
    176     include_directories: [incdir, configuration_inc],
    177     install: true,
    178 )
    179 
    180 
    181 executable(
    182     'taler-helper-auditor-wire-credit',
    183     ['taler-helper-auditor-wire-credit.c'],
    184     dependencies: [
    185         libtalerutil_dep,
    186         libtalerjson_dep,
    187         libtalerbank_dep,
    188         libtalerexchangedb_dep,
    189         libtalerauditordb_dep,
    190         libauditorreport_dep,
    191         gnunetutil_dep,
    192         gnunetjson_dep,
    193         gnunetcurl_dep,
    194         json_dep,
    195         gcrypt_dep,
    196     ],
    197     include_directories: [incdir, configuration_inc],
    198     install: true,
    199 )
    200 
    201 
    202 executable(
    203     'taler-helper-auditor-wire-debit',
    204     ['taler-helper-auditor-wire-debit.c'],
    205     dependencies: [
    206         libtalerutil_dep,
    207         libtalerjson_dep,
    208         libtalerbank_dep,
    209         libtalerexchangedb_dep,
    210         libtalerauditordb_dep,
    211         libauditorreport_dep,
    212         gnunetutil_dep,
    213         gnunetjson_dep,
    214         gnunetcurl_dep,
    215         json_dep,
    216         gcrypt_dep,
    217     ],
    218     include_directories: [incdir, configuration_inc],
    219     install: true,
    220 )
    221 
    222 
    223 # MARK: CRUD
    224 
    225 taler_auditor_httpd_SOURCES = [
    226     'taler-auditor-httpd.c',
    227     'taler-auditor-httpd_spa.c',
    228     'taler-auditor-httpd_put-deposit-confirmation.c',
    229     'taler-auditor-httpd_get-monitoring-deposit-confirmations.c',
    230     'taler-auditor-httpd_get-monitoring-amount-arithmetic-inconsistency.c',
    231     'taler-auditor-httpd_get-monitoring-coin-inconsistency.c',
    232     'taler-auditor-httpd_get-monitoring-row-inconsistency.c',
    233     'taler-auditor-httpd_get-monitoring-emergency.c',
    234     'taler-auditor-httpd_get-monitoring-emergency-by-count.c',
    235     'taler-auditor-httpd_get-monitoring-denomination-key-validity-withdraw-inconsistency.c',
    236     'taler-auditor-httpd_get-monitoring-purse-not-closed-inconsistencies.c',
    237     'taler-auditor-httpd_get-monitoring-reserve-balance-insufficient-inconsistency.c',
    238     'taler-auditor-httpd_patch-generic-suppressed.c',
    239     'taler-auditor-httpd_delete-generic.c',
    240     'taler-auditor-httpd_get-monitoring-bad-sig-losses.c',
    241     'taler-auditor-httpd_get-monitoring-aml-holds.c',
    242     'taler-auditor-httpd_get-monitoring-closure-lags.c',
    243     'taler-auditor-httpd_get-monitoring-progress.c',
    244     'taler-auditor-httpd_get-monitoring-early-aggregation.c',
    245     'taler-auditor-httpd_get-monitoring-pending-deposits.c',
    246     'taler-auditor-httpd_get-monitoring-kycauth-in-inconsistency.c',
    247     'taler-auditor-httpd_get-monitoring-reserve-in-inconsistency.c',
    248     'taler-auditor-httpd_get-monitoring-reserve-not-closed-inconsistency.c',
    249     'taler-auditor-httpd_get-monitoring-denominations-without-sigs.c',
    250     'taler-auditor-httpd_get-monitoring-misattribution-in-inconsistency.c',
    251     'taler-auditor-httpd_get-monitoring-reserves.c',
    252     'taler-auditor-httpd_get-monitoring-purses.c',
    253     'taler-auditor-httpd_get-monitoring-historic-denomination-revenue.c',
    254     'taler-auditor-httpd_get-monitoring-denomination-pending.c',
    255     'taler-auditor-httpd_get-monitoring-historic-reserve-summary.c',
    256     'taler-auditor-httpd_get-monitoring-wire-format-inconsistency.c',
    257     'taler-auditor-httpd_get-monitoring-wire-out-inconsistency.c',
    258     'taler-auditor-httpd_get-monitoring-reserve-balance-summary-wrong-inconsistency.c',
    259     'taler-auditor-httpd_get-monitoring-row-minor-inconsistencies.c',
    260     'taler-auditor-httpd_get-monitoring-fee-time-inconsistency.c',
    261     'taler-auditor-httpd_get-monitoring-balances.c',
    262     'taler-auditor-httpd_mhd.c',
    263 ]
    264 
    265 executable(
    266     'taler-auditor-httpd',
    267     taler_auditor_httpd_SOURCES,
    268     dependencies: [
    269         libtalermhd_dep,
    270         libtalerutil_dep,
    271         libtalerjson_dep,
    272         libtalerexchangedb_dep,
    273         libtalerauditordb_dep,
    274         gnunetutil_dep,
    275         gnunetjson_dep,
    276         zlib_dep,
    277         mhd_dep,
    278         json_dep,
    279         gcrypt_dep,
    280     ],
    281     include_directories: [incdir, configuration_inc],
    282     install: true,
    283 )
    284 
    285 
    286 executable(
    287     'taler-auditor-sync',
    288     ['taler-auditor-sync.c'],
    289     dependencies: [
    290         libtalerutil_dep,
    291         libtalerjson_dep,
    292         libtalerexchangedb_dep,
    293         libtalerpq_dep,
    294         gnunetutil_dep,
    295         gnunetjson_dep,
    296         gcrypt_dep,
    297     ],
    298     include_directories: [incdir, configuration_inc],
    299     install: true,
    300 )
    301 
    302 
    303 # These tests audit a pre-generated reference database, so they need the
    304 # wallet to pick the same coins on every run: the generator scripts set
    305 # TALER_WALLET_COINSEL=legacy-2024 for that (bug #11272).  They are in the
    306 # 'installcheck' suite because they drive installed binaries and need
    307 # Postgres superuser rights.
    308 test_auditor = configure_file(
    309     input: 'test-auditor.sh',
    310     output: 'test-auditor.sh',
    311     copy: true,
    312 )
    313 test(
    314     'test-auditor',
    315     test_auditor,
    316     workdir: meson.current_build_dir(),
    317     suite: ['auditor', 'installcheck'],
    318     is_parallel: false,
    319     timeout: 1800,
    320 )
    321 # test-kyc audits a reference database produced by a KYC-enabled exchange
    322 # (generate-kyc-basedb.sh).  See issues.txt for the KYC/AML checks the
    323 # auditor does not implement yet and that this test therefore leaves out.
    324 test_kyc = configure_file(
    325     input: 'test-kyc.sh',
    326     output: 'test-kyc.sh',
    327     copy: true,
    328 )
    329 test(
    330     'test-kyc',
    331     test_kyc,
    332     workdir: meson.current_build_dir(),
    333     suite: ['auditor', 'installcheck'],
    334     is_parallel: false,
    335     timeout: 1800,
    336 )
    337 # test-revocation audits denomination revocation, which relies on recoup.
    338 # The exchange's recoup handlers are currently compiled out (FIXME_9828,
    339 # https://bugs.gnunet.org/view.php?id=9828), so the test detects the missing
    340 # endpoint and reports itself as skipped until recoup is reimplemented.
    341 test_revocation = configure_file(
    342     input: 'test-revocation.sh',
    343     output: 'test-revocation.sh',
    344     copy: true,
    345 )
    346 test(
    347     'test-revocation',
    348     test_revocation,
    349     workdir: meson.current_build_dir(),
    350     suite: ['auditor', 'installcheck'],
    351     is_parallel: false,
    352     timeout: 1800,
    353 )
    354 test_sync = configure_file(
    355     input: 'test-sync.sh',
    356     output: 'test-sync.sh',
    357     copy: true,
    358 )
    359 test(
    360     'test-sync',
    361     test_sync,
    362     workdir: meson.current_build_dir(),
    363     suite: ['auditor', 'installcheck'],
    364     is_parallel: false,
    365     timeout: 1800,
    366 )
    367 
    368 EXTRA_DIST = [
    369     'taler-helper-auditor-render.py',
    370     'auditor.conf',
    371     'setup.sh',
    372     'test-sync-in.conf',
    373     'test-sync-out.conf',
    374     'generate-auditor-basedb.sh',
    375     'generate-auditor-basedb.conf',
    376     'generate-kyc-basedb.sh',
    377     'generate-kyc-basedb.conf',
    378     'generate-revoke-basedb.sh',
    379 ]
    380 
    381 foreach f : EXTRA_DIST
    382     configure_file(input: f, output: f, copy: true)
    383 
    384 endforeach