Marco Boss
393cea46d1
implement shard node setup and drop
2022-04-02 19:07:12 +02:00
Marco Boss
7ba135362e
fix name
2022-04-02 18:59:20 +02:00
Marco Boss
ae75ff2cb4
extend sharding logic that shard nodes can be initialied and dropped
2022-04-02 18:43:49 +02:00
Christian Grothoff
6f027fc130
add additinal signature
2022-04-02 17:25:18 +02:00
Marco Boss
caabee9e94
install shard-0000.sql
2022-04-02 14:33:50 +02:00
Marco Boss
86ee587b03
add shard-0000.sql
2022-04-02 14:31:59 +02:00
Marco Boss
ca536c0379
fix return
2022-04-02 14:25:04 +02:00
Marco Boss
5880a8ec4f
drop functions
2022-04-02 13:42:00 +02:00
Marco Boss
f596b27a97
fix format specifiers
2022-04-02 12:18:56 +02:00
Marco Boss
82718aecf8
fix argument to create_shard_server
2022-04-02 11:52:21 +02:00
Marco Boss
1b76ba5e9a
Include sharding sql logic
2022-04-02 09:28:25 +02:00
Marco Boss
0ba219fe5b
add permissions
2022-04-02 09:27:30 +02:00
Christian Grothoff
6c66f6f5cf
rollback transaction to end transaction scope before releasing the shard ( fixes #7216 )
2022-04-02 03:50:30 +02:00
Christian Grothoff
caf66486e7
work on purse creation logic
2022-04-01 16:39:07 +02:00
Marco Boss
45916b992b
remove built sql files from vc
2022-03-31 21:49:35 +02:00
Marco Boss
75c1e10a67
add shard init for shard node
2022-03-31 21:31:07 +02:00
Marco Boss
0cf9a9984c
add sharding logic
2022-03-31 17:00:44 +02:00
Christian Grothoff
747ae5ef09
privatize more signature structs, simplify code
2022-03-31 12:37:39 +02:00
Christian Grothoff
eadee56dcf
-remove row check, not stable enough to assert on
2022-03-30 12:00:20 +02:00
Christian Grothoff
6040c9ff0f
make struct private again
2022-03-30 01:36:52 +02:00
Sebastian
e5b65aa443
fix: wtid request param size
2022-03-29 17:53:50 -03:00
Sebastian
adc9dae4cc
make TALER_RefundConfirmationPS public
2022-03-29 14:12:45 -03:00
Christian Grothoff
074ea7502e
centralize exchange online signature logic
2022-03-29 15:21:49 +02:00
Christian Grothoff
3249687b2a
rename to avoid symbol conflict with musl
2022-03-28 18:18:08 +02:00
Christian Grothoff
b25c9398b7
starting work on purse-create endpoint
2022-03-28 17:50:23 +02:00
Christian Grothoff
a227ee6d1b
-first cut at contract encryption and decryption
2022-03-28 13:57:43 +02:00
Christian Grothoff
ee4077ef80
starting with purse creation client API
2022-03-28 13:19:40 +02:00
30985c0975
-rename variable
2022-03-28 12:34:14 +02:00
ccf2d69dfb
-fix leak in test_age_restriction.c
2022-03-28 12:33:41 +02:00
488d217381
-fix leaks in test_crypto.c
2022-03-28 11:17:49 +02:00
a2386abadb
[age restriction] progress 19/19 (final) - Use Edx25519 for crypto
...
We switch from EcDSA to Edx25519 for the underlying signature scheme.
Edx25519 is implemented in gnunet, starting with (gnunet-)commit
ce38d1f6c9bd7857a1c3bc2094a0ee9752b86c32.
2022-03-28 11:04:00 +02:00
Christian Grothoff
d61a19c275
-fix leak, uninitialized ps
2022-03-27 16:11:35 +02:00
Christian Grothoff
1f1d675f3d
-remove tiny field, no longer needed
2022-03-27 14:34:44 +02:00
Christian Grothoff
b9a9af3a59
new aggregator mega transaction logic
2022-03-27 13:48:25 +02:00
Christian Grothoff
d0a69da895
towards removing tiny bit
2022-03-27 10:32:28 +02:00
Christian Grothoff
646c9ad061
fix leak
2022-03-27 05:02:21 +02:00
Christian Grothoff
098d572471
change sharding strategy for refund table
2022-03-26 10:47:10 +01:00
Christian Grothoff
783e2ae424
add partitions to new p2p tables
2022-03-26 09:00:19 +01:00
Christian Grothoff
238761c87d
-regen DBs
2022-03-25 14:07:31 +01:00
Christian Grothoff
b856d56d95
rework deposits sharding, towards making aggregator faster (not necessarily done)
2022-03-24 17:33:29 +01:00
Christian Grothoff
c782dfe2aa
first draft of service API for p2p payments
2022-03-24 13:06:04 +01:00
Christian Grothoff
6ffc2c68a3
better query
2022-03-24 09:05:55 +01:00
b0cf653b83
implement more taler-crypto-worker ops
2022-03-24 01:37:48 +01:00
e336c02d14
implement more taler-crypto-worker ops
2022-03-24 01:10:00 +01:00
Christian Grothoff
f091808425
more skeleton logic for P2P operations on DB
2022-03-23 12:25:45 +01:00
Christian Grothoff
41399bc224
revise P2P signatures and signing schema to address recently discovered design concern resulting in the split of the purse key into purse-contract and purse-merge keys
2022-03-23 06:54:43 +01:00
Christian Grothoff
9b7716f9f2
fix #7151
2022-03-23 05:19:09 +01:00
Christian Grothoff
6505f69869
add one more p2p signature
2022-03-22 12:12:00 +01:00
Christian Grothoff
6868b78692
fix typo
2022-03-22 12:06:12 +01:00
Christian Grothoff
cce049a0b5
add missing table drops
2022-03-22 11:51:56 +01:00
Christian Grothoff
734b68d45e
-fix drop SQL issue: drop functions properly
2022-03-22 05:33:08 +01:00
Christian Grothoff
e200e86032
implement helper functions for p2p signatures, clean up existing signature logic
2022-03-22 02:33:51 +01:00
Christian Grothoff
bdc797a583
FIXMEs for Oec
2022-03-21 08:35:19 +01:00
Christian Grothoff
c7e2d206ba
add logic to check timestamp, revise history balance calculation logic in client
2022-03-21 03:59:31 +01:00
Christian Grothoff
1f86b02ffa
first rough-cut implementation of /reserves//history endpoint
2022-03-21 03:04:47 +01:00
Christian Grothoff
f5f15e6531
first rough-cut implementation of POST /reserves//status
2022-03-21 02:39:36 +01:00
Christian Grothoff
b560527ee3
ideas for mboss
2022-03-20 16:52:38 +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
28203913e2
add p2p tables from dd13
2022-03-20 14:03:07 +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
dee45bf022
return new global fees from /keys
2022-03-20 09:44:42 +01:00
Christian Grothoff
1bb5a77c8d
add new reserve status/history signatures
2022-03-20 02:39:28 +01:00
Christian Grothoff
c83892ba29
-style fixes
2022-03-20 02:39:12 +01:00
Christian Grothoff
69927847cc
-style fixes
2022-03-20 02:38:48 +01:00
Christian Grothoff
5406d564fb
-style fixes
2022-03-19 16:16:28 +01:00
Christian Grothoff
938db9ac56
-fix memory leak introduced by Oec
2022-03-19 16:04:41 +01:00
Christian Grothoff
c4690a44bc
-minor code cleanup
2022-03-19 15:54:05 +01:00
Christian Grothoff
685837ad28
simplify auditor_api_handle.c, do not modify global context with respect to 'Expect' header
2022-03-19 15:25:43 +01:00
Christian Grothoff
f5e5f4b843
more work on recoup_by_reserve: add new materialized index to avoid hitting all partitions for the query
2022-03-19 14:05:45 +01:00
Christian Grothoff
f22125ce0f
add missing index, move indices closer to table generation
2022-03-19 12:58:37 +01:00
Christian Grothoff
52a8b8f888
-code cleanup
2022-03-19 08:34:58 +01:00
Christian Grothoff
280f94c3a6
improve style of some SQL queries (no semantic change)
2022-03-19 08:27:01 +01:00
Christian Grothoff
f0a95037ef
-fix memory leak
2022-03-19 08:26:40 +01:00
Christian Grothoff
badfde8962
add deposits_by_coin table to speed-up certain queries (in theory)
2022-03-18 15:47:25 +01:00
Christian Grothoff
142a369e43
add selection by shard, ignore KYC in revocation test aggregation
2022-03-18 08:54:08 +01:00
Christian Grothoff
23af6c3c41
change table structures again to shard better by coin_pub and not use known_coin_id so much
2022-03-18 01:57:39 +01:00
Christian Grothoff
a59d39f699
reinit auditor bd: column dropped
2022-03-17 15:09:14 +01:00
Christian Grothoff
eac8b8c0da
-re-enable test-revocation.sh, works again
2022-03-17 15:06:58 +01:00
Christian Grothoff
bab36a2ac8
-remove dead field, return h_commitment_age to auditor
2022-03-17 14:45:12 +01:00
Christian Grothoff
12809b28ec
-misc fixes
2022-03-17 14:16:34 +01:00
Marco Boss
63879d9d20
more explicit cipher usage counters
2022-03-17 14:09:12 +01:00
Christian Grothoff
fe94405554
regenerate revokedb
2022-03-15 13:09:32 +01:00
Marco Boss
7529939a0f
add metrics for number of crypto operations
2022-03-14 20:06:07 +01:00
Christian Grothoff
687f0cab82
add arguments for new fees
2022-03-14 16:03:01 +01:00
Christian Grothoff
a8d80d519d
attempt to make GRID5K_MARCO_OPT superfluous
2022-03-14 07:34:21 +01:00
Marco Boss
7a74cde9c7
add option to exclude reserve history in grid5k experiments
2022-03-10 10:26:44 +01:00
Christian Grothoff
9a3d993d07
-also work with h_payto trait
2022-03-10 01:48:46 +01:00
cd5ee2338c
-ensure label has no zero bytes
2022-03-08 11:47:51 +01:00
Christian Grothoff
ab3868f83b
-add global-fee subcommand to taler-exchange-offline
2022-03-05 19:03:40 +01:00
Christian Grothoff
54106e63dc
add client API for setting global fees
2022-03-05 18:18:25 +01:00
Christian Grothoff
a080f11890
add more logic for new global fees
2022-03-05 17:14:32 +01:00
Christian Grothoff
57470e4c08
-more work on global_fees
2022-03-05 16:16:38 +01:00
Christian Grothoff
5fa977cc05
work on global fee structure
2022-03-05 15:13:07 +01:00
Christian Grothoff
841e56bafd
also sync global fees table (new)
2022-03-05 14:38:03 +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
8a906bf96c
sync tables "extensions" and "extension_details" with auditor
2022-03-05 13:39:01 +01:00
Christian Grothoff
43f8ab6b48
add signing/verifying functions for global fees
2022-03-05 12:04:13 +01:00
Christian Grothoff
4835ddf60b
introduce sets for wire fees and global fees
2022-03-05 11:56:58 +01:00
Christian Grothoff
3a1f418603
improve URI path checking, make it more strict and simplify logic
2022-03-04 22:29:29 +01:00
d0b27833b2
[age restriction] added unit test for get_age_group
2022-03-04 17:00:28 +01:00
Marco Boss
f5e1cf5e6d
rewrite query for recoup_by_reserve
2022-03-04 13:22:28 +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
Christian Grothoff
f951cdef8c
include shard when marking deposits tiny/done to make better use of partitions/shards
2022-03-03 19:39:25 +01:00
4c53d42e44
[age restriction] progress 18/n - attestation tested
...
- Unit-tests for commit, derive, attest and verify added, with multiple
combinations of minimum age and commited age.
- Fixed crypto implementation (eddsa -> ecdsa)
- Using now standard functionality from GNUNET:
GNUNET_CRYPTO_ecdsa_{private,public}_key_derive
All tests pass (unit tests in util/ and 'make check' in testing).
2022-03-03 19:35:24 +01:00
Christian Grothoff
476ae53808
simply defer all, only way to do well with partitions
2022-03-03 17:48:00 +01:00
Thien-Thi Nguyen
80fc8231ad
Don't hardcode directory in taler-auditor-sync(1) invocation
2022-03-02 17:32:52 -05:00
Marco Boss
57e3864c09
Include partitioning in dbinit
2022-03-02 19:03:54 +01:00
Marco Boss
79d123d1b4
fix num partitions
2022-03-02 19:01:27 +01:00
Marco Boss
7f30609ff0
use plain uint32_t
2022-03-02 17:22:43 +01:00
Marco Boss
548613c617
fix
2022-03-02 13:30:44 +01:00
Marco Boss
41a9a73eb8
fix
2022-03-02 13:21:45 +01:00
10d7d93ad8
-tests now with age restriction
2022-03-02 11:59:21 +01:00
Marco Boss
cab654237f
clearer doc
2022-03-02 11:28:28 +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
Marco Boss
2abe9bf6d7
include partitioning logic in dbinit
2022-03-02 10:50:51 +01:00
4978b1e966
-amend missing parts to commit b20ddf0c8
...
- functions TALER_age_commitment_attest and
TALER_age_commitment_verify
implemented.
- age restriction implementation moved into util/age_restriction.c
2022-03-02 07:58:55 +01:00
b20ddf0c8a
[age restriction] progress 17/n - attestation implemented
...
- functions TALER_age_commitment_attest and TALER_age_commitment_verify
implemented.
- age restriction implementation moved into util/age_restriction.c
2022-03-01 19:30:57 +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
Marco Boss
b4f7fef224
stay with partitions for now - find shards on dev/boss/sharding
2022-03-01 15:54:47 +01:00
Marco Boss
0eed0c0de2
tested shard creation locally
2022-03-01 14:01:42 +01:00
Marco Boss
afb1b5f902
prepare sharding / partitioning init
...
- create exchange-0001.sql with functions to create all tables and partitions / shards
- create exchange-0002.sql for the master db
2022-03-01 12:11:58 +01:00
Christian Grothoff
e24a6369aa
test-sync passes again
2022-02-28 23:18:40 +01:00
Christian Grothoff
a8d9e7e0a6
-more bool cleanup
2022-02-28 22:46:24 +01:00
Christian Grothoff
3d4e580699
work on auditor-sync update to latest DB
2022-02-28 22:41:24 +01:00
Christian Grothoff
ee79f31275
-work on test_sync.sh, incomplete
2022-02-28 22:41:24 +01:00
Marco Boss
0efc7fd524
cleaner sql
2022-02-28 22:32:59 +01:00
Christian Grothoff
23bc09fe3c
get test-auditor and #7181 to pass
2022-02-28 20:37:19 +01:00
Christian Grothoff
8f77bda2e0
-towards getting auditor tests to pass again with new logic
2022-02-28 16:13:30 +01:00
Christian Grothoff
d7bbf934a0
make DB generation work with new CS logic
2022-02-28 16:13:30 +01:00
Marco Boss
58eb3d95fc
towards adding shard/partitioning init functionality
2022-02-27 21:23:20 +01:00
Marco Boss
99dd36f7f6
add index on wire_targets
...
- better performance on local db
- many queries use wire_target_serial_id as join condition -> discussion use this as shard key?
2022-02-26 17:37:52 +01:00
Christian Grothoff
f11cab90ff
-add parens
2022-02-24 23:58:17 +01:00
Marco Boss
3d52f52164
Fix ON CONFLICT statements for distributed tables
2022-02-24 14:31:19 +01:00
Christian Grothoff
fd9ba53c49
make_coin_known can experience serialization failures, add retry logic
2022-02-24 13:53:19 +01:00
Christian Grothoff
10b9023575
-on conflict example
2022-02-24 10:16:10 +01:00
Christian Grothoff
5e5004020e
-fix aggregator with deferred constraint
2022-02-24 10:06:43 +01:00
Christian Grothoff
e253a5b055
-unique constraint is crucial
2022-02-24 09:06:15 +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
Christian Grothoff
fbdc1996a6
-use correct idx
2022-02-22 17:28:44 +01:00
Christian Grothoff
900b2d6fd9
-use correct idx
2022-02-22 17:26:27 +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
3cd6156513
do not clamp EdDSA private keys
2022-02-21 16:08:45 +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
Christian Grothoff
bc150693de
-work around missing constraint, if not present
2022-02-20 19:26:01 +01:00
Thien-Thi Nguyen
e02c850acf
add libtalerextensions.la to _LDADD (two instances)
...
* src/benchmark/Makefile.am (taler_bank_benchmark_LDADD): ...here.
* src/exchange-tools/Makefile.am (taler_auditor_offline_LDADD): Likewise.
2022-02-19 21:36:08 -05:00