Christian Grothoff
60c08dccec
expand P2P query logic
2022-05-08 21:04:55 +02:00
Christian Grothoff
d3a6388199
pass purse_fee to determine how purse creation is paid for
2022-05-08 11:37:37 +02:00
Christian Grothoff
6b8e732bf8
-pub
2022-05-07 23:45:17 +02:00
Christian Grothoff
415c922c92
-address FIXMEs for purses GET requests
2022-05-07 23:41:33 +02:00
Christian Grothoff
2d84d7f6dd
add function for purse status signing
2022-05-07 23:27:56 +02:00
Christian Grothoff
4199e4438d
rename function that is for the merchant signature to have merchant in the name
2022-05-07 23:21:27 +02:00
Christian Grothoff
7718cd4153
skeleton for batch withdraw logic (not finished)
2022-05-01 12:45:12 +02:00
Christian Grothoff
8e4969eb66
-implement purses_get CMD
2022-04-30 12:02:43 +02:00
Christian Grothoff
d623cab1a3
-work on p2p payments
2022-04-27 13:09:41 +02:00
17a00ef22d
age restriction: make seed a HashCode due to endianess and security level concerns
2022-04-26 23:34:14 +02:00
Christian Grothoff
336f2d8991
-misc. minor fixes
2022-04-26 17:46:36 +02:00
Christian Grothoff
932cef3d8c
-complete purses_get draft implementation
2022-04-26 13:34:18 +02:00
Christian Grothoff
efb8c8037b
-implement purses get db sketch
2022-04-26 13:24:51 +02:00
Christian Grothoff
b4965db0d2
-fix fieldnames, regenerated DBs
2022-04-24 20:49:11 +02:00
Christian Grothoff
aedd2014ec
-misc p2p fixes
2022-04-24 15:29:58 +02:00
Thien-Thi Nguyen
36c568ab8d
Remove empty GNUNET_NETWORK_STRUCT_{BEGIN,END} pair
2022-04-24 08:48:51 -04:00
Christian Grothoff
b7a4fd401e
add subcommand to sign global fees in tests
2022-04-23 20:02:28 +02:00
Christian Grothoff
e270bc32cc
-expand p2p test to cover purse-with-deposit-merge sequence
2022-04-23 19:32:07 +02:00
Christian Grothoff
cf358f9546
-uncrustify
2022-04-23 18:13:15 +02:00
Christian Grothoff
cf11b3f0b2
-create cmd for purse creation from reserve
2022-04-23 18:01:00 +02:00
Christian Grothoff
132359a444
add purses-get to build
2022-04-23 12:34:48 +02:00
Thien-Thi Nguyen
a72337a5f3
Add abstractions: TALER_exchange_deposit_{sign,verify}
...
This change also removes ‘struct TALER_DepositTrackPS’
from the public API.
* src/include/taler_signatures.h (struct TALER_DepositTrackPS): Delete.
* src/util/exchange_signatures.c (struct TALER_DepositTrackPS): New.
(TALER_exchange_deposit_sign): New func.
(TALER_exchange_deposit_verify): New func.
* src/include/taler_crypto_lib.h
(TALER_exchange_deposit_sign): New func decl.
(TALER_exchange_deposit_verify): New func decl.
* src/exchange/taler-exchange-httpd_deposits_get.c
(TEH_handler_deposits_get): Rework to use ‘TALER_exchange_deposit_verify’.
* src/lib/exchange_api_deposits_get.c
(TALER_EXCHANGE_deposits_get): Rework to use ‘taler_exchange_deposit_sign’.
2022-04-22 20:29:45 -04:00
b84c88fc04
Fixed seed size for TALER_age_restriction_commit
...
Also, added src/util/tv_age_restriction.{c,json} for/as test vectors for
age restriction.
2022-04-21 14:27:29 +02:00
137bd97154
cleanup of extension API
...
- removed TALER_extensions_init()
- added TALER_extension_age_restriction_register()
2022-04-21 12:54:59 +02:00
Christian Grothoff
4af1772f12
-work on create purse with merge
2022-04-20 23:07:44 +02:00
Thien-Thi Nguyen
509657bfef
Add abstraction: TALER_merchant_contract_sign
...
Additionally, this change removes ‘struct TALER_ProposalDataPS’
from the public API.
* src/include/taler_crypto_lib.h
(TALER_merchant_contract_sign): New func decl.
* src/include/taler_signatures.h
(struct TALER_ProposalDataPS): Delete.
* src/util/merchant_signatures.c
(struct TALER_ProposalDataPS): Move here from taler_signatures.h.
(TALER_merchant_contract_sign): New func.
2022-04-17 19:53:17 -04:00
Thien-Thi Nguyen
a7ad5a07e2
Add abstractions: TALER_merchant_pay_{sign,verify}
...
Additionally, this change removes ‘struct TALER_PaymentResponsePS’
from the public API.
* src/include/taler_crypto_lib.h
(TALER_merchant_pay_sign): New func decl.
(TALER_merchant_pay_verify): New func decl.
* src/include/taler_signatures.h
(struct TALER_PaymentResponsePS): Delete.
* src/util/merchant_signatures.c
(struct TALER_PaymentResponsePS): Move here from taler_signatures.h.
(TALER_merchant_pay_sign): New func.
(TALER_merchant_pay_verify): New func.
2022-04-17 04:53:17 -04:00
Christian Grothoff
a13f90a15e
add wirewatch shutdown shard cleanup logic
2022-04-14 00:00:50 +02:00
Christian Grothoff
3893afa49c
-implementing purse merge DB logic
2022-04-12 11:58:21 +02:00
Christian Grothoff
b91a406525
-finish first implementaation of exchange_api_contracts_get.c
2022-04-11 19:22:30 +02:00
Christian Grothoff
78cf27aaac
-skeleton for GET /contracts/ logic: add to build system
2022-04-11 18:58:54 +02:00
Christian Grothoff
6aad1fa351
-skeleton for GET /contracts/ logic
2022-04-11 18:56:05 +02:00
Christian Grothoff
7a1dcc52ca
-towards new GET /contracts/$C_PUB hander
2022-04-11 16:48:30 +02:00
Christian Grothoff
c8c1005297
-add draft handler for purse merge client request
2022-04-11 15:34:45 +02:00
Christian Grothoff
72dd9514aa
-draft implementation of /purses//merge endpoint
2022-04-11 13:52:06 +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
7191641406
implement more DB functions
2022-04-04 20:42:26 +02:00
Christian Grothoff
831e32b7ad
-add logic for econtract_sig signatures
2022-04-04 07:29:50 +02:00
Marco Boss
393cea46d1
implement shard node setup and drop
2022-04-02 19:07:12 +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
1b76ba5e9a
Include sharding sql logic
2022-04-02 09:28:25 +02:00
Christian Grothoff
caf66486e7
work on purse creation logic
2022-04-01 16:39:07 +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
6040c9ff0f
make struct private again
2022-03-30 01:36:52 +02: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
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
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
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
098d572471
change sharding strategy for refund table
2022-03-26 10:47:10 +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
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
6505f69869
add one more p2p signature
2022-03-22 12:12:00 +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
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
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
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
badfde8962
add deposits_by_coin table to speed-up certain queries (in theory)
2022-03-18 15:47:25 +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
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
Christian Grothoff
9a3d993d07
-also work with h_payto trait
2022-03-10 01:48:46 +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
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
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
Marco Boss
57e3864c09
Include partitioning in dbinit
2022-03-02 19:03:54 +01:00
Marco Boss
7f30609ff0
use plain uint32_t
2022-03-02 17:22:43 +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
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
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
Christian Grothoff
23bc09fe3c
get test-auditor and #7181 to pass
2022-02-28 20:37:19 +01:00