exchange

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

meson.build (8837B)


      1 # This build_file is in the public domain
      2 
      3 # Auditor also needs to access the exchange config, so we install
      4 # the exchange configuration for it here as well!
      5 install_data('exchange.conf', install_dir: pkgcfgadir)
      6 
      7 install_data('exchange.conf', install_dir: pkgcfgedir)
      8 
      9 # Programs
     10 configure_file(
     11     input: 'taler-exchange-kyc-aml-pep-trigger.sh',
     12     output: 'taler-exchange-kyc-aml-pep-trigger.sh',
     13     install: true,
     14     copy: true,
     15     install_dir: get_option('bindir'),
     16 )
     17 
     18 executable(
     19     'taler-exchange-aggregator',
     20     ['taler-exchange-aggregator.c'],
     21     dependencies: [
     22         libtalerutil_dep,
     23         libtalerjson_dep,
     24         libtalerexchangedb_dep,
     25         libtalerbank_dep,
     26         libtalerkyclogic_dep,
     27         gnunetutil_dep,
     28         gnunetcurl_dep,
     29         gcrypt_dep,
     30         json_dep,
     31     ],
     32     include_directories: [incdir, configuration_inc],
     33     install: true,
     34 )
     35 
     36 
     37 executable(
     38     'taler-exchange-closer',
     39     ['taler-exchange-closer.c'],
     40     dependencies: [
     41         libtalerutil_dep,
     42         libtalerjson_dep,
     43         libtalerexchangedb_dep,
     44         libtalerbank_dep,
     45         gnunetutil_dep,
     46         gnunetcurl_dep,
     47         gcrypt_dep,
     48         json_dep,
     49     ],
     50     include_directories: [incdir, configuration_inc],
     51     install: true,
     52 )
     53 
     54 
     55 executable(
     56     'taler-exchange-drain',
     57     ['taler-exchange-drain.c'],
     58     dependencies: [
     59         libtalerutil_dep,
     60         libtalerjson_dep,
     61         libtalerexchangedb_dep,
     62         libtalerbank_dep,
     63         gnunetutil_dep,
     64         gnunetcurl_dep,
     65         gcrypt_dep,
     66         json_dep,
     67     ],
     68     include_directories: [incdir, configuration_inc],
     69     install: true,
     70 )
     71 
     72 
     73 executable(
     74     'taler-exchange-expire',
     75     ['taler-exchange-expire.c'],
     76     dependencies: [
     77         libtalerutil_dep,
     78         libtalerjson_dep,
     79         libtalerexchangedb_dep,
     80         libtalerbank_dep,
     81         gnunetutil_dep,
     82         gnunetcurl_dep,
     83         gcrypt_dep,
     84         json_dep,
     85     ],
     86     include_directories: [incdir, configuration_inc],
     87     install: true,
     88 )
     89 
     90 
     91 executable(
     92     'taler-exchange-router',
     93     ['taler-exchange-router.c'],
     94     dependencies: [
     95         libtalerutil_dep,
     96         libtalerjson_dep,
     97         libtalerexchangedb_dep,
     98         libtalerbank_dep,
     99         gnunetutil_dep,
    100         gnunetcurl_dep,
    101         gcrypt_dep,
    102         json_dep,
    103     ],
    104     include_directories: [incdir, configuration_inc],
    105     install: true,
    106 )
    107 
    108 
    109 executable(
    110     'taler-exchange-sanctionscheck',
    111     ['taler-exchange-sanctionscheck.c'],
    112     dependencies: [
    113         libtalerkyclogic_dep,
    114         libtalerutil_dep,
    115         libtalerjson_dep,
    116         libtalerexchangedb_dep,
    117         gnunetutil_dep,
    118         gnunetjson_dep,
    119         gcrypt_dep,
    120         json_dep,
    121         m_dep,
    122     ],
    123     include_directories: [incdir, configuration_inc],
    124     install: true,
    125 )
    126 
    127 
    128 executable(
    129     'taler-exchange-transfer',
    130     ['taler-exchange-transfer.c'],
    131     dependencies: [
    132         libtalerbank_dep,
    133         libtalerutil_dep,
    134         libtalerjson_dep,
    135         libtalerexchangedb_dep,
    136         gnunetutil_dep,
    137         gnunetcurl_dep,
    138         gcrypt_dep,
    139         json_dep,
    140     ],
    141     include_directories: [incdir, configuration_inc],
    142     install: true,
    143 )
    144 
    145 
    146 executable(
    147     'taler-exchange-wirewatch',
    148     ['taler-exchange-wirewatch.c'],
    149     dependencies: [
    150         libtalerbank_dep,
    151         libtalerutil_dep,
    152         libtalerjson_dep,
    153         libtalerexchangedb_dep,
    154         gnunetutil_dep,
    155         gnunetcurl_dep,
    156         gcrypt_dep,
    157         json_dep,
    158     ],
    159     include_directories: [incdir, configuration_inc],
    160     install: true,
    161 )
    162 
    163 
    164 taler_exchange_httpd_SOURCES = [
    165     'taler-exchange-httpd.c',
    166     'taler-exchange-httpd_get-aml-OFFICER_PUB-accounts.c',
    167     'taler-exchange-httpd_get-aml-OFFICER_PUB-attributes-H_NORMALIZED_PAYTO.c',
    168     'taler-exchange-httpd_post-aml-OFFICER_PUB-decision.c',
    169     'taler-exchange-httpd_get-aml-OFFICER_PUB-decisions.c',
    170     'taler-exchange-httpd_get-aml-OFFICER_PUB-legitimizations.c',
    171     'taler-exchange-httpd_get-aml-OFFICER_PUB-kyc-statistics-NAMES.c',
    172     'taler-exchange-httpd_get-aml-OFFICER_PUB-measures.c',
    173     'taler-exchange-httpd_get-aml-OFFICER_PUB-transfers.c',
    174     'taler-exchange-httpd_post-auditors-AUDITOR_PUB-H_DENOM_PUB.c',
    175     'taler-exchange-httpd_post-batch-deposit.c',
    176     'taler-exchange-httpd_post-blinding-prepare.c',
    177     'taler-exchange-httpd_get-coins-COIN_PUB-history.c',
    178     'taler-exchange-httpd_common_deposit.c',
    179     'taler-exchange-httpd_common_kyc.c',
    180     'taler-exchange-httpd_get-config.c',
    181     'taler-exchange-httpd_get-contracts-CONTRACT_PUB.c',
    182     'taler-exchange-httpd_db.c',
    183     'taler-exchange-httpd_get-deposits.c',
    184     'taler-exchange-httpd_extensions.c',
    185     'taler-exchange-httpd_get-keys.c',
    186     'taler-exchange-httpd_get-kyc-check-H_NORMALIZED_PAYTO.c',
    187     'taler-exchange-httpd_get-kyc-info-ACCESS_TOKEN.c',
    188     'taler-exchange-httpd_get-kyc-proof-PROVIDER_NAME.c',
    189     'taler-exchange-httpd_post-kyc-start-ID.c',
    190     'taler-exchange-httpd_post-kyc-upload-ID.c',
    191     'taler-exchange-httpd_post-kyc-wallet.c',
    192     'taler-exchange-httpd_kyc-webhook.c',
    193     'taler-exchange-httpd_post-management-aml-officers.c',
    194     'taler-exchange-httpd_post-management-auditors.c',
    195     'taler-exchange-httpd_post-management-auditors-AUDITOR_PUB-disable.c',
    196     'taler-exchange-httpd_post-management-denominations-H_DENOM_PUB-revoke.c',
    197     'taler-exchange-httpd_post-management-drain.c',
    198     'taler-exchange-httpd_post-management-extensions.c',
    199     'taler-exchange-httpd_post-management-global-fees.c',
    200     'taler-exchange-httpd_post-management-partners.c',
    201     'taler-exchange-httpd_post-management-keys.c',
    202     'taler-exchange-httpd_post-management-signkeys-EXCHANGE_PUB-revoke.c',
    203     'taler-exchange-httpd_post-management-wire.c',
    204     'taler-exchange-httpd_post-management-wire-disable.c',
    205     'taler-exchange-httpd_post-management-wire-fee.c',
    206     'taler-exchange-httpd_post-melt.c',
    207     'taler-exchange-httpd_get-metrics.c',
    208     'taler-exchange-httpd_mhd.c',
    209     'taler-exchange-httpd_post-purses-PURSE_PUB-create.c',
    210     'taler-exchange-httpd_post-purses-PURSE_PUB-deposit.c',
    211     'taler-exchange-httpd_delete-purses-PURSE_PUB.c',
    212     'taler-exchange-httpd_get-purses-PURSE_PUB-merge.c',
    213     'taler-exchange-httpd_post-purses-PURSE_PUB-merge.c',
    214     'taler-exchange-httpd_post-recoup-withdraw.c',
    215     'taler-exchange-httpd_post-recoup-refresh.c',
    216     'taler-exchange-httpd_post-coins-COIN_PUB-refund.c',
    217     'taler-exchange-httpd_post-reserves-RESERVE_PUB-attest.c',
    218     'taler-exchange-httpd_post-reserves-RESERVE_PUB-close.c',
    219     'taler-exchange-httpd_get-reserves-RESERVE_PUB.c',
    220     'taler-exchange-httpd_get-reserves-RESERVE_PUB-attest.c',
    221     'taler-exchange-httpd_get-reserves-RESERVE_PUB-history.c',
    222     'taler-exchange-httpd_post-reserves-RESERVE_PUB-open.c',
    223     'taler-exchange-httpd_post-reserves-RESERVE_PUB-purse.c',
    224     'taler-exchange-httpd_responses.c',
    225     'taler-exchange-httpd_post-reveal-melt.c',
    226     'taler-exchange-httpd_post-reveal-withdraw.c',
    227     'taler-exchange-httpd_get-SPA.c',
    228     'taler-exchange-httpd_get-TERMS.c',
    229     'taler-exchange-httpd_get-transfers-WTID.c',
    230     'taler-exchange-httpd_post-withdraw.c',
    231 ]
    232 
    233 executable(
    234     'taler-exchange-httpd',
    235     taler_exchange_httpd_SOURCES,
    236     dependencies: [
    237         libtalerbank_dep,
    238         libtalermhd_dep,
    239         libtalerutil_dep,
    240         libtalerjson_dep,
    241         libtalerexchangedb_dep,
    242         libtalerextensions_dep,
    243         libtalerkyclogic_dep,
    244         libtalertemplating_dep,
    245         gnunetutil_dep,
    246         gnunetcurl_dep,
    247         gnunetjson_dep,
    248         gcrypt_dep,
    249         json_dep,
    250         mhd_dep,
    251         zlib_dep,
    252         curl_dep,
    253     ],
    254     include_directories: [incdir, configuration_inc],
    255     install: true,
    256 )
    257 
    258 
    259 # Testcases
    260 
    261 test_taler_exchange_httpd = configure_file(
    262     input: 'test_taler_exchange_httpd.sh',
    263     output: 'test_taler_exchange_httpd.sh',
    264     copy: true,
    265 )
    266 test(
    267     'test_taler_exchange_httpd',
    268     test_taler_exchange_httpd,
    269     workdir: meson.current_build_dir(),
    270     suite: ['exchange', 'installcheck'],
    271     is_parallel: false,
    272 )
    273 test_taler_exchange_httpd_afl = configure_file(
    274     input: 'test_taler_exchange_httpd_afl.sh',
    275     output: 'test_taler_exchange_httpd_afl.sh',
    276     copy: true,
    277 )
    278 configure_file(
    279     input: 'test_taler_exchange_httpd.conf',
    280     output: 'test_taler_exchange_httpd.conf',
    281     copy: true,
    282 )
    283 configure_file(
    284     input: 'test_taler_exchange_httpd.post',
    285     output: 'test_taler_exchange_httpd.post',
    286     copy: true,
    287 )
    288 configure_file(
    289     input: 'test_taler_exchange_httpd.get',
    290     output: 'test_taler_exchange_httpd.get',
    291     copy: true,
    292 )
    293 
    294 if get_option('expensivetests')
    295     test(
    296         'test_taler_exchange_httpd_afl',
    297         test_taler_exchange_httpd_afl,
    298         workdir: meson.current_build_dir(),
    299         suite: ['exchange', 'installcheck'],
    300         is_parallel: false,
    301     )
    302 endif