Christian Grothoff
cacb019501
testing command to GET contracts
2022-04-11 23:27:23 +02:00
Christian Grothoff
89431a41b7
-complete va coin parser of purse_create_deposit CMD
2022-04-06 13:54:08 +02:00
Christian Grothoff
22cfc59d90
-towards testing purse creation
2022-04-06 12:50:07 +02:00
Christian Grothoff
f3a4b00907
adapt to latest GNUnet API: GNUNET_JSON_spec_mark_optional() changed
2022-04-05 17:15:50 +02:00
Christian Grothoff
747ae5ef09
privatize more signature structs, simplify code
2022-03-31 12:37:39 +02:00
Christian Grothoff
098d572471
change sharding strategy for refund table
2022-03-26 10:47:10 +01:00
Christian Grothoff
9b7716f9f2
fix #7151
2022-03-23 05:19:09 +01:00
Christian Grothoff
65808106c7
add test for reserve GET long polling
2022-03-20 15:42:16 +01:00
Christian Grothoff
532fabf20a
add variant of GET /reserves/ testing command with support for long polling (to diagnose reserve long polling issue reported by FD)
2022-03-20 14:50:13 +01:00
Christian Grothoff
e7fa97cc87
-rename file for consistency
2022-03-20 13:22:32 +01:00
Christian Grothoff
427417b835
towards support for new reserve history/status APIs
2022-03-20 13:20:45 +01:00
Christian Grothoff
5406d564fb
-style fixes
2022-03-19 16:16:28 +01:00
Christian Grothoff
c4690a44bc
-minor code cleanup
2022-03-19 15:54:05 +01:00
Christian Grothoff
12809b28ec
-misc fixes
2022-03-17 14:16:34 +01:00
Christian Grothoff
9a3d993d07
-also work with h_payto trait
2022-03-10 01:48:46 +01:00
Christian Grothoff
7ff58c3d8f
refactor /wire to include logic to return the wad fee (for W2W payments)
2022-03-05 14:36:55 +01:00
Christian Grothoff
f9a2808ed0
-fix kyc test
2022-03-04 00:30:43 +01:00
Christian Grothoff
1643b745af
use 32 byte hash for hpayto, use that for joins on queries to better align queries with partitions
2022-03-03 23:52:08 +01:00
7624db4efd
-refactor TALER_AgeMask.mask -> TALER_AgeMask.bits
...
also: fix off-by-one in TALER_age_restriction_commit
2022-03-02 10:59:42 +01:00
e9eb00e285
Refactoring TALER_AgeCommitment
...
Instead of a single struct TALER_AgeCommitment, we now use
1. TALER_AgeCommitment for the age mask and list public keys for age
restriciton.
2. TALER_AgeProof for list of private keys for age restriction
3. TALER_AgeCommitmentProof for the aggregation of the former two.
Also, we introduce TALER_AgeAttestation as the EDDSA signature to attest
a particular age group, along with the function prototypes
TALER_age_commitment_attest and TALER_age_commitment_verify.
2022-03-01 17:02:37 +01:00
Christian Grothoff
23bc09fe3c
get test-auditor and #7181 to pass
2022-02-28 20:37:19 +01:00
b244e23859
-make age commiment structs const in traits
2022-02-23 16:08:27 +01:00
7910ca183f
double melt test no works with age restriction
...
- added missing field h_age_commitment in exchange's error response
- slight refactoring
2022-02-22 18:35:10 +01:00
26158fc725
[age restriction] progress 16/n - refresh/reveal/link tests
...
Age restriction works now with withdraw, melt/refresh/reveal and link,
including tests.
However, there is still a problem with the tests: The melting operation
"refresh-melt-failing-age" that should fail (because of conflict), but
currently fails for other reasons. I decided to disable that particular
test (and the next) and submit the patch I have so far.
2022-02-22 14:34:47 +01:00
Christian Grothoff
544ba42f44
-big renaming of structs for consistent naming with P suffix
2022-02-21 00:23:23 +01:00
Christian Grothoff
19624fd776
-ensure different HKDF is used in melt vs. withdraw
2022-02-20 21:51:46 +01:00
f4f502d037
-minor merge conflict resolves
2022-02-18 00:50:31 +01:00
a78b3345fb
[age restriction] progress 15/n - melt/refresh/reveal and recoup
...
Added age restriction support for
- melt/refresh/reveal
- recoup
However, tests are not yet implemented for those flows.
Also: minor fixes and refactoring.
2022-02-18 00:30:19 +01:00
Christian Grothoff
d380ff1ffe
-restore fee structure
2022-02-17 19:02:55 +01:00
Christian Grothoff
802f4986fe
-fix Oec FTBFS
2022-02-17 15:29:50 +01:00
Christian Grothoff
a351bfc4b4
-fix CS nonce reuse check logic
2022-02-17 15:18:09 +01:00
8bdf6ab19d
[age restriction] progress 14/n - withdraw and deposit
...
Age restriction support for
- withdraw is done and tested
- deposit is done and tested
TODOs:
- melt/refresh/reveal
- link
------
Added functions
- TALER_age_restriction_commit
- TALER_age_commitment_derive
- TALER_age_commitment_hash
- TALER_age_restriction_commitment_free_inside
- Hash of age commitment passed around API boundaries
Exchangedb adjustments for denominations
- all prepared statements re: denominations now handle age_mask
- signature parameters adjusted
Hash and signature verification of /keys adjusted
- Hashes of (normal) denominations and age-restricted denominations are
calculated seperately
- The hash of the age-restricted ones will then be added to the other
hash
- The total hash is signed/verified
Tests for withdraw with age restriction added
- TALER_EXCHANGE_DenomPublickey now carries age_mask
- TALER_TESTING_cmd_withdraw_amount* takes age parameter
- TALER_TESTING_find_pk takes boolean age_restricted
- WithdrawState carries age_commitment and its hash
- withdraw_run derives new age commitment, if applicable
- Added age parameter to testing (13 as example)
Various Fixes and changes
- Fixes of post handler for /management/extensions
- Fixes for offline tool extensions signing
- Slight refactoring of extensions
- Age restriction extension simplified
- config is now global to extension
- added global TEH_age_restriction_enabled and TEH_age_mask in
taler-exchange-httpd
- helper functions and macros introduced
2022-02-16 22:01:05 +01:00
Christian Grothoff
9b8c350d4d
-remove redundancies in the refresh-melt computation and fix uninitialized bks return value
2022-02-13 12:44:09 +01:00
Christian Grothoff
f6ecf7458a
-refactor melt API, add FIXME for discovered bug
2022-02-12 14:38:27 +01:00
Christian Grothoff
7cedf3f0bf
-clean up refresh reveal API
2022-02-12 14:00:58 +01:00
Christian Grothoff
4d26042b5a
-modify link API to return 'ps' so that linked coins can be refreshed
2022-02-12 13:39:58 +01:00
Christian Grothoff
bc14c215b3
-doxygen fixes
2022-02-12 11:12:33 +01:00
Christian Grothoff
0eb5b08d50
-minor API clean up
2022-02-11 17:05:57 +01:00
Christian Grothoff
2772050b95
-add missing cfg file
2022-02-11 12:23:57 +01:00
Christian Grothoff
3b9d67a6f8
-get twisted tests to pass
2022-02-11 11:46:42 +01:00
Christian Grothoff
0995bdd1d0
-get tests to pass
2022-02-11 09:36:01 +01:00
Christian Grothoff
532d4ad0dc
-fixes to tests, and half-baked fixes for CS-/link (still fails)
2022-02-10 23:39:00 +01:00
Christian Grothoff
d58d89dcab
-get recoup/refresh to pass
2022-02-10 20:15:17 +01:00
Christian Grothoff
d05c561e4f
-fix fTBFS
2022-02-09 15:33:20 +01:00
Christian Grothoff
bc15478c3b
-fix leak
2022-02-09 09:25:32 +01:00
Christian Grothoff
b3cf788424
-more test fixes
2022-02-08 14:02:27 +01:00
Christian Grothoff
8cbe16a220
fix refresh/link tests
2022-02-08 09:58:22 +01:00
Christian Grothoff
7eb989b2df
-get melt and refresh-reveal to pass again
2022-02-08 00:12:56 +01:00
Christian Grothoff
17a30cbd70
-cleanups
2022-02-07 23:38:30 +01:00
Christian Grothoff
e27ff05e63
-fix config file name
2022-02-07 22:01:37 +01:00
Christian Grothoff
ca7fa98016
-fix config file names
2022-02-07 14:53:32 +01:00
Christian Grothoff
fb9ba5b1d2
-rename fest
2022-02-07 12:33:35 +01:00
Christian Grothoff
f7a1f41eee
-get testing to build
2022-02-07 11:01:54 +01:00
Christian Grothoff
031e365814
fix FTBFS of main logic
2022-02-07 10:55:07 +01:00
Christian Grothoff
2164c36f0f
got testing_api_cmd_refresh to compile
2022-02-07 10:09:12 +01:00
Christian Grothoff
5ff3189075
-fix recoup testing cmds
2022-02-06 20:04:36 +01:00
Christian Grothoff
03fd154a69
messing with CS/RSA fixes
2022-02-04 19:30:15 +01:00
Lucien Heuzeveldt
7d2a1a596a
split .conf files into rsa and cs
2022-02-04 19:24:30 +01:00
Christian Grothoff
9d40bd5a1e
split tests by rsa/cs
2022-02-04 18:45:42 +01:00
Gian Demarmels
8674f32aec
denomination CIPHER field per denom
2022-02-04 15:39:57 +01:00
Lucien Heuzeveldt
8d85c8b5b6
implement feedback
2022-02-04 15:37:30 +01:00
Gian Demarmels
5b7e8f9ac5
refactoring
2022-02-04 15:36:11 +01:00
Lucien Heuzeveldt
daa7fdcfb1
implement spend
2022-02-04 15:36:10 +01:00
Gian Demarmels
9c2aefaa51
removed varargs
2022-02-04 15:36:08 +01:00
Lucien Heuzeveldt
9074e66ebc
implement withdraw (nonce reuse check missing)
2022-02-04 15:35:31 +01:00
Lucien Heuzeveldt
82405b0ce5
implement CS key handling and csr endpoint
2022-02-04 15:34:19 +01:00
Gian Demarmels
18db69be2d
initial cs_secmod implementation
2022-02-04 15:33:11 +01:00
Gian Demarmels
f3fb7c29e6
added CS data structures, implemented CS keypair
2022-02-04 15:31:45 +01:00
0b56de6c99
[age restriction] progress 12/n
...
- taler-offline-tool now handles extensions
- command "extensions" added with subcommands "show" and "sign"
- parses extensions from taler config
- shows and signs of extensions and their configurations
- creates signed set of configurations for upload
- added test for retrieval of extension config
- simplified signature verification for extensions
- remove per-extension signatures, also from DB schema
- adjust prepared statements accordingly
- adjust DB event handler for extensions
- allow NULL for config for extension in DB schema
- handler for /management/extensions adjusted to new datastructures
- changed test for TALER_denom_blind/TALER_denom_sign_blinded with and
without TALER_AgeHash
- minor updates and various fixes
2022-01-21 15:41:02 +01:00
Christian Grothoff
e7aeec04f4
The current recoup API is broken. I guess this is another example where "trivial" API changes turn out to have (multiple!) unexpected consequences.
...
The current "/recoup" API does not have clear idempotency semantics, as we've discussed on the phone. This is already bad by itself, as it makes it hard to write down what the API does other than "whatever the implementation does".
However, it actually breaks correctness in this (admittedly kinda contrived, but not impossible) case:
Say that we have a coin A obtained via withdrawal and a coin B obtained via refreshing coin A. Now the denominations of A gets revoked..
The wallet does a recoup of A for EUR:1.
Now the denomination of B also gets revoked. The wallet recoups B (incidentally also for EUR:1) and now A can be recouped again for EUR:1. But now the exchange is in a state where it will refuse a legitimate recoup request for A because the detection for an idempotent request kicks in.
This is IMHO bad API design, and the exchange should simply always recoup the maximum amount.
Furthermore, we usually follow the principle of "API calls that take up DB space are paid". With the current recoup API, I can do many tiny recoup requests which the exchange then has to store, right?
I guess it would not be a big change to remove the "amount" value from the recoup/recoup-refresh request bodies, right?
- Florian
2022-01-11 12:47:35 +01:00
Christian Grothoff
87376e02eb
protocol v12 changes (/recoup split, signature changes) plus database sharding plus O(n^2)=>O(n) worst-case complexity reduction on coin balance checks
2021-12-25 13:56:40 +01:00
Christian Grothoff
1acc851deb
-fix recoup ugliness
2021-12-16 20:18:44 +01:00
Christian Grothoff
1a1fafbd43
introducing GNUNET_TIME_Timestamp, recoup now with amounts
2021-12-14 16:04:40 +01:00
Christian Grothoff
5433c2a475
be more backwards-compatible
2021-12-08 21:14:36 +01:00
Christian Grothoff
e8fc5d8d5c
-fix command to avoid timing-dependent assertion failure
2021-12-02 06:41:49 +01:00
Christian Grothoff
94012d011c
add invariant checks
2021-11-25 13:37:47 +01:00
Christian Grothoff
ed6634f98e
-do not use parallel by default
2021-11-24 22:01:01 +01:00
Christian Grothoff
4ceef77ae5
add -r option to exchange-httpd
2021-11-24 21:57:39 +01:00
Christian Grothoff
61616fe2c8
-fix check
2021-11-24 21:47:21 +01:00
Christian Grothoff
0ac1b7abad
handle revoke followed immediately by a sign request
2021-11-24 17:44:26 +01:00
Christian Grothoff
a5a3b2ea9a
add taler-auditor-offline test command, fixes test_auditor_api warnings
2021-11-20 13:09:16 +01:00
Christian Grothoff
303f105985
-code cleanup
2021-11-20 12:41:50 +01:00
Christian Grothoff
52fe9d657b
-fix leaks and compiler warnings
2021-11-19 20:56:53 +01:00
Christian Grothoff
68a4d90134
-misc bugfixes
2021-11-19 11:47:52 +01:00
Christian Grothoff
bdaaa0f6cb
-fix misc. compiler warnings
2021-11-19 10:57:27 +01:00
Christian Grothoff
2078dd1bfb
-fix FTBFS in testing/
2021-11-17 21:03:13 +01:00
Christian Grothoff
6e86a3c43c
-sms wip
2021-11-17 13:03:47 +01:00
Christian Grothoff
ed1db63a48
fix DB query and error handling
2021-11-17 11:01:19 +01:00
591cefd315
[age restriction] progress 3/n
...
- remove redundant struct members for age commitment hash
- undo pre-mature implementation in taler-exchange-secmod-rsa.c
- carry through age restriction parameter for TALER_denom_blind
2021-11-16 14:43:54 +01:00
Christian Grothoff
4b7ee48456
-new option
2021-11-15 20:06:34 +01:00
Christian Grothoff
e5ead88057
complete oauth logic (in theory)
2021-11-15 20:00:45 +01:00
Christian Grothoff
77bab62560
-fixes for test
2021-11-09 22:52:01 +01:00
Christian Grothoff
016551dbb4
misc TODOs for KYC left
2021-11-09 20:36:30 +01:00
Christian Grothoff
a9b2140b1e
get first KYC test to pass
2021-11-09 15:39:31 +01:00
Christian Grothoff
a79cc16067
sleep to get tests to pass
2021-11-08 23:31:16 +01:00
Christian Grothoff
e7d3d9a7b0
skip
2021-11-08 09:21:24 +01:00
Christian Grothoff
b7f0d636e9
-fix NPE
2021-11-08 08:54:12 +01:00
Christian Grothoff
d9690fb087
add KYC test skeleton
2021-11-08 08:52:25 +01:00
Christian Grothoff
398ef9d971
implement OAuth 2.0 service
2021-11-07 23:46:23 +01:00
Christian Grothoff
051deacb97
comment
2021-11-07 23:43:38 +01:00
Christian Grothoff
38c7180806
add oauth service faker
2021-11-07 23:42:03 +01:00
Christian Grothoff
6a611e39d1
add /kyc-proof cmd
2021-11-07 23:07:56 +01:00
Christian Grothoff
6000339fbc
fix comments
2021-11-07 19:37:06 +01:00
Christian Grothoff
6ffb32aaab
add required payto URI traits
2021-11-07 19:35:29 +01:00
Christian Grothoff
f374a5cd38
add wallet for KYC status check
2021-11-07 17:57:23 +01:00
Christian Grothoff
4cde9e3977
add kyc-wallet test command
2021-11-07 17:42:36 +01:00
Christian Grothoff
659cd4439d
expose KYC traits for withdraw/get deposits commands
2021-11-07 14:12:54 +01:00
Christian Grothoff
4fff4895ad
prepare for KYC tests
2021-11-07 12:45:49 +01:00
Christian Grothoff
cd8d4bede1
add missing file
2021-11-07 11:41:53 +01:00
Christian Grothoff
81f9b2c93e
-misc fixes
2021-11-06 19:57:34 +01:00
Christian Grothoff
9d6e104066
include h_extensions in deposit confirmation
2021-11-06 19:43:47 +01:00
Christian Grothoff
8175fdfa0f
introduce TALER_wallet_deposit_verify
2021-11-06 16:52:14 +01:00
Christian Grothoff
938e2ce39c
more RSA cleanup
2021-11-06 16:04:26 +01:00
Christian Grothoff
ba627bf84c
-fixes
2021-11-05 22:22:47 +01:00
Christian Grothoff
32da809fd6
abstract denomination keys a bit more
2021-11-05 14:00:10 +01:00
Christian Grothoff
9358b886f1
bugfix!
2021-11-01 22:57:46 +01:00
Christian Grothoff
8df5fba56a
-code cleanup
2021-11-01 18:15:47 +01:00
Christian Grothoff
22ce5bff77
fix sharding
2021-11-01 18:05:01 +01:00
Christian Grothoff
f02b5b7859
fix bug
2021-11-01 13:17:44 +01:00
Christian Grothoff
41bfdb4509
-fix FTBFS issues
2021-10-31 00:21:46 +02:00
Christian Grothoff
963a06c0aa
fix more FTBFS issues
2021-10-30 19:28:11 +02:00
Christian Grothoff
07ea1c9890
-fix testing FTBFS
2021-10-27 23:37:45 +02:00
Christian Grothoff
0996b83a65
libtalertesting compiles
2021-10-27 22:28:52 +02:00
Christian Grothoff
382fb837bd
-work on testing FTBFS
2021-10-27 21:59:04 +02:00
Christian Grothoff
b449c7353e
work on testing ftbfs
2021-10-27 18:37:42 +02:00
Christian Grothoff
3f630eafc4
the big macrofication of the traits
2021-10-27 15:21:48 +02:00
Christian Grothoff
acbadd5c6e
-modify C API to future-proof it for returning more details as required for KYC implementation
2021-10-13 18:52:59 +02:00
Christian Grothoff
ae8d481e1c
implement taler-exchange-transfer DB sharding logic
2021-09-05 15:25:57 +02:00
Christian Grothoff
c559b1c935
complete implementation of long-polling for reserve status; remove support for multi-threaded exchange httpd
2021-08-23 00:00:32 +02:00
Christian Grothoff
f174781b57
support long_poll_ms argument in bank API ( #6987 )
2021-08-12 13:13:42 +02:00
Christian Grothoff
26e061c212
-fix disting
2021-08-07 16:44:55 +02:00
Christian Grothoff
caf6807856
-fix assertion failure caused by testcase
2021-08-06 10:20:58 +02:00
Christian Grothoff
ba3f70390a
restructure configuration, move bank account credentials from exchange-account-XXX to exchange-accountcredentials-XXX
2021-08-03 21:58:36 +02:00
Christian Grothoff
33a28efef7
-more json_pack fixes
2021-07-31 21:48:36 +02:00
Christian Grothoff
e92588a0ef
-update .gitignore
2021-07-30 20:53:58 +02:00
Christian Grothoff
db54ed215d
-fix another master private key
2021-07-30 20:50:38 +02:00
Christian Grothoff
e36d3badd1
-add correct master priv in new location
2021-07-30 20:41:03 +02:00
Christian Grothoff
e7a9a2911c
-add logic to purge SECM_TOFU_FILE when purging secmod KEY_DIRS
2021-07-30 18:02:29 +02:00
Christian Grothoff
12e7f40564
persist master.priv in git
2021-07-30 17:54:55 +02:00
Christian Grothoff
af9830453e
REVOCATION_DIR is long obsolete, KEYDIR was renamed to KEY_DIR and is in another section
2021-07-30 17:31:18 +02:00
Christian Grothoff
29b4e71bf5
-fix misc interesting wirewatch in test mode with sharding issues
2021-07-18 21:16:21 +02:00
Christian Grothoff
9c51720cbf
fixing parallel fakebank to ensure transactions are ordered, fixing indices/constraint preservation after DB update to 0002
2021-06-21 00:17:16 +02:00
Christian Grothoff
dadb96c9ba
-badness
2021-06-01 17:46:17 +02:00
Christian Grothoff
8ffa114c4e
status code changed from 404 to 410, as revocation is possible in the future..."
2021-05-25 21:36:43 +02:00
Christian Grothoff
b2b1f88ab6
add HTTP status argument to testin gCMD admin_add_incoming_with_ref for merchant tests
2021-05-25 20:10:46 +02:00
Christian Grothoff
dd323a5d9c
-log CMD name
2021-05-25 17:46:16 +02:00
Christian Grothoff
4741f4ea02
implement duplicate reserve_pub detection in fakebank, add test (fails in pybank), for #6863
2021-05-20 12:31:27 +02:00
Christian Grothoff
91e18867c3
use grothoff in runtimedir when testing
2021-04-28 15:42:36 +02:00
Christian Grothoff
20c70845c0
return more precise error codes from TALER_EXCHANGE_deposit() if failures are detected client-side ( #6817 )
2021-04-24 19:54:47 +02:00
Christian Grothoff
4384c6ec85
fix misc doxygen issues
2021-04-21 20:28:30 +02:00