Commit Graph

549 Commits

Author SHA1 Message Date
aff3100d89
proper handling of coin with age restriction
When a coin with age restriction is used for payment, the contract might
or might not require an attestation of minimum age.

When it does, we sent the signed minimum age along with the whole age
commitment (array of pubkeys).

Added:  When the contract doesn't require a minimum age, we still sent
the hash of the age commitment, as this is needed for the deposit of the
coin.
2022-07-21 11:35:31 +02:00
f11483b511
wallet-core: implement accepting p2p push payments 2022-07-12 17:41:14 +02:00
b214934b75
wallet-core: P2P push payments (still incomplete) 2022-07-08 11:08:30 +02:00
Sebastian
ccd289904d
- typo fix 2022-06-26 15:52:32 -03:00
716da3246b
wallet-core: correctly report 'confirmed' status of bank integrated withdrawal 2022-06-10 13:38:59 +02:00
f57dc7bf7a
wallet-core: implement and test forced coin/denom selection 2022-06-10 13:03:47 +02:00
Boss Marco
b00635c140
increase timeouts for retries 2022-06-08 10:58:54 +02:00
Boss Marco
f8c814cf95
reserve long polling longer, add withdrawOnly to bench1 2022-06-07 13:42:34 +02:00
Sebastian
adb0277f4e
-removing bad console log 2022-06-01 11:35:50 -03:00
d780e9b187
wallet-core: only attest age if required/possible 2022-06-01 11:54:45 +02:00
f9192d986f
wallet-core: refunds transactions should be sorted after payments 2022-06-01 10:47:46 +02:00
59a2119dcb
integration tests: one variable for pybank/libeufin switch 2022-06-01 10:14:23 +02:00
59bc54422f
wallet-core: only schedule auto-refresh check if exchange update has no last error 2022-05-31 15:44:22 +02:00
2e6f3b3569
-error reporting, code formatting 2022-05-31 15:08:31 +02:00
Sebastian
029340469a
show refund info in purchase
notify refund pending with accept button on the purchase details
better payto box
2022-05-29 01:23:21 -03:00
07e1818679
Revert "no need to compile after install"
This reverts commit c3ba7fb523.
2022-05-24 18:00:25 +02:00
Sebastian
c3ba7fb523
no need to compile after install 2022-05-24 00:20:42 -03:00
9dfef2100d
wallet-core: long-poll longer for reserve status 2022-05-19 13:30:04 +02:00
609a9cb1d5
wallet-core: use less aggressive retries 2022-05-19 11:19:43 +02:00
25af1987b2
-formatting 2022-05-19 11:01:07 +02:00
b2931fbac6
wallet-core: clamp claim retry properly 2022-05-19 10:36:58 +02:00
Sebastian
611a57ca0a
fix: update retry info before return also for purchase 2022-05-18 16:39:36 -03:00
Sebastian
5595e942b4
fix: update retry info before return 2022-05-18 15:57:10 -03:00
Sebastian
145714b335
fix: to skip the operation maxRetries need to be calculated first 2022-05-18 14:44:55 -03:00
Sebastian
c67d0bff1d
all retryInfo function in the same namespace, adding missing retryInfo increment 2022-05-18 14:41:51 -03:00
Sebastian
115e5bf353
fix: do not cancel all operation processing when one of them reach maxRetries, just skip 2022-05-18 14:38:27 -03:00
Sebastian
e4ea201943
feat: awaiting refund 2022-05-14 18:09:49 -03:00
Sebastian
37690dd22c
handling service worker waiting phase 2022-05-06 17:29:52 -03:00
Sebastian
4491118494
add restricted option to manual withdraw 2022-05-04 16:26:53 -03:00
f16d2e52d5
wallet-core: implement batch withdrawal 2022-05-03 17:53:37 +02:00
Sebastian
b4e219f7ff
add missing allowedExchanges for calculating getFeeForDeposit 2022-05-03 00:34:37 -03:00
Sebastian
dc842eab6b
deposit from payto 2022-05-03 00:16:03 -03:00
Sebastian
e5c9f588e4
add prepareRefund operation to gather information about the refund before confirm 2022-05-02 19:21:13 -03:00
9996c27488
wallet-core: make coin selection aware of age restriction 2022-04-29 21:05:28 +02:00
Sebastian
038dcbc9b7
fix #5845 added run-gc on webex 2022-04-29 15:49:16 -03:00
Sebastian
508f5d2ea7
simplify alarm and check webRequest without using 'in' 2022-04-28 15:55:20 -03:00
Sebastian
b239ae1029
keep alive manifest v3 2022-04-28 13:26:29 -03:00
a165afa682
wallet-core: implement age restriction support 2022-04-27 00:50:17 +02:00
3c68b2d776
wallet-core: fix loop index 2022-04-18 22:00:26 +02:00
68b4d0c4de
wallet-cli: allow generating segwit addresses 2022-04-18 21:23:48 +02:00
d1b4cc994b
anastasis-core: async provider synchronization 2022-04-15 12:56:16 +02:00
098d1eb7eb
wallet-core: request reserve status with long poll timeout 2022-04-14 23:06:49 +02:00
Sebastian
ec9aed276a
fix: timer API should be exported from src/index 2022-04-13 13:54:54 -03:00
Sebastian
a644efe1ab
add a timer parameter in the wallet constructor in order to resolve #7120 2022-04-11 15:10:16 -03:00
Sebastian
bb56d61424
fix old API, crypto impl now used objects 2022-04-06 12:08:49 -03:00
c9adb4a5e2
english 2022-03-30 20:42:07 +02:00
123b92b3aa
wallet: logging, timestamp parsing backwards compatibility 2022-03-30 20:41:21 +02:00
bbd6ccf1c7
wallet: allow forced denom selection for tests 2022-03-29 21:22:03 +02:00
cb18b9813e
wallet: fix type error 2022-03-29 13:50:45 +02:00
c265e7d019
wallet: make retries more robust and consistent 2022-03-29 13:48:51 +02:00
f5d194dfc6
wallet: cancellation for deposit 2022-03-28 23:59:16 +02:00
80e43db2ca
wallet: timeout handling refactoring WIP 2022-03-28 23:21:49 +02:00
24b7110776
vendor CancellationToken 2022-03-28 20:24:09 +02:00
Sebastian
e5f21ec5bb
fix build, tipAmountEffective = selectedDemons.totalCoinValue 2022-03-28 14:51:17 -03:00
2ba6692c6a
fix fee discrepancy
The withdrawal call-to-action and withdrawal transaction details dialog
showed different fees, as the "overhead" for unwithdrawable amounts in a
reserve was not included in the withdrawal CTA.

The withdrawal CTA now shows the same fees as the transaction details.
2022-03-28 16:11:58 +02:00
Sebastian
1243efb409
synchronousWorker is replaced by synchronousWorkerNode, fix msg.args => msg.req 2022-03-25 16:57:59 -03:00
Sebastian
2c6b83ffea
created a sync worker for web based on the node version, then split for both 2022-03-24 11:42:06 -03:00
303c6e99b3
wallet: allow using RPC crypto in more places 2022-03-24 01:59:08 +01:00
454b55aa56
wallet: remove excessive logging 2022-03-24 01:13:40 +01:00
9d38cb56a6
wallet: crypto worker fixes, better taler-crypto-worker integration 2022-03-24 01:10:41 +01:00
d881f4fd25
wallet: simplify crypto workers 2022-03-23 21:24:36 +01:00
Sebastian
136c39ba9f
-fix TS2345: Argument of type 'AmountJson' is not assignable to parameter of type 'never' 2022-03-23 14:20:18 -03:00
f187c1e13f
missing files 2022-03-23 16:38:34 +01:00
c539d1803c
wallet: address crypto worker hang and warning about worker termination 2022-03-23 13:11:36 +01:00
5d23eb3635
wallet: improve error handling and error codes 2022-03-22 21:16:38 +01:00
f8d12f7b0d
wallet: t_s/d_us migration 2022-03-21 19:20:48 +01:00
05838080f5
wallet: round timestamps in db-less requests to the exchange 2022-03-17 11:08:53 +01:00
151aa904e0
cache breaker 2022-03-16 15:21:15 +01:00
c0be242292
wallet: db-less benchmarking 2022-03-15 17:51:11 +01:00
Sebastian
bc596e11b9
moving synchronousWorkerFactory to index.node since use nodejs API 2022-03-15 11:04:53 -03:00
Sebastian
984cbb7ab7
save tos etag after forced refresh 2022-03-15 00:24:39 -03:00
332745862e
wallet: towards db-less benchmarking, some refactoring 2022-03-14 18:31:36 +01:00
9d66078852
wallet-core: do not rely on reserve history for withdrawals 2022-03-10 16:30:24 +01:00
6ee0354940
wallet: improve retry handling for payments, update error codes 2022-03-08 23:09:20 +01:00
d5a933e4cb
wallet-core: handle reserve retries better
We now always increment the next retry timeout before doing anything
else, so that it is impossible to accidentally retry immediately.

This fixes a bug where we previously made many, very frequent requests
to the bank integration API.
2022-03-08 20:39:56 +01:00
1d1c847b79
wallet: throttle all http requests
even from browsers / service workers
2022-03-08 19:19:29 +01:00
3e6f6eb3d7
wallet-core: remove old+wrong backwards compatibility code path 2022-03-08 12:32:29 +01:00
6df9202935
fix recoup protocol breakage 2022-03-07 21:49:11 +01:00
0323868e10
fix tipping 2022-03-07 20:44:18 +01:00
0290c5fd37
address protocol changes in the exchange
The exchange now has a wad fee and truncates the payto hash in signatures
2022-03-07 12:09:38 +01:00
5fbe82b374
disable setupRefreshPlanchet C crypto worker call 2022-02-21 16:17:59 +01:00
5c93f15157
towards implementing breaking exchange protocol changes 2022-02-21 12:40:57 +01:00
8920ea9c54
dependencies / tsconfig 2022-02-10 20:13:07 +01:00
5844a3065c
DB reset must be async 2022-02-03 14:36:37 +01:00
d2f17c8dac
bump version(s) 2022-01-27 14:33:41 +01:00
26ee8e3c71
fix exchange-timetravel test case with latest exchange version 2022-01-24 21:14:28 +01:00
171d070a83
make tipping work with latest merchant protocol 2022-01-24 20:51:47 +01:00
Sebastian
882d6b3710
last activity -> pending; fix downloadTos 2022-01-24 14:12:12 -03:00
Sebastian
ac60a0559c
forcing update when querying the terms, and fixing bug in request header parsing 2022-01-16 18:37:42 -03:00
Sebastian
f8ae2671c1
de-duplicating imports and fixing another typescript minor issues 2022-01-16 17:55:00 -03:00
Sebastian
bf0cb6ab13
splitting syncWorker with the factory so the former do not require nodejs runtime 2022-01-16 17:54:59 -03:00
Sebastian
8b0294ee41
better description of coin test selection and using c8 for coverage runtime 2022-01-14 12:50:38 -03:00
17c3ced648
make more use of the denom cache 2022-01-13 22:01:14 +01:00
cd2473e1ad
cache denomination lookups 2022-01-13 12:08:40 +01:00
Sebastian
cea0ac02b6
import db from the wallet web extension 2022-01-13 01:34:17 -03:00
Sebastian
4b289cde5d
adding a max timeout since retry counter can be very high 2022-01-13 01:34:16 -03:00
Sebastian
f6ec105b72
fixing high cpu usage after some time
retryinfo was not being updated and not being used by exchangeCheckRefresh pending operation
2022-01-13 01:34:16 -03:00
Sebastian
5eeb00e158
importDb feature in wallet core 2022-01-13 01:34:16 -03:00
9f6e398884
do withdrawal with fewer DB accesses 2022-01-12 16:54:38 +01:00
dc596f1f4d
implement latest recoup protocol 2022-01-12 15:51:56 +01:00
dbdad96b27
revert empty balance 2022-01-11 22:17:40 +01:00
a74cdf0529
fix DB indexing issues 2022-01-11 22:15:56 +01:00
a05e891d6e
towards new recoup API 2022-01-11 14:48:02 +01:00
Sebastian
83b9d32b78
filter out exchanges with other currency when doing currency selection for deposit 2022-01-10 16:07:27 -03:00
a2591a29af
logging, bump version 2022-01-10 01:19:19 +01:00
a7b89247e4
wallet-core: towards exchange protocol v12 2022-01-05 20:29:55 +01:00
188ff0b453
upgrade rollup plugins, as older ones caused miscompilation 2022-01-05 18:40:43 +01:00
dc040ba41c
update dependencies to fix rollup issue 2022-01-05 16:48:22 +01:00
Sebastian
2e71117f59
deposit from wallet webex: wip 2021-12-23 15:17:36 -03:00
2237058bcc
style 2021-12-13 11:28:57 +01:00
c493a3069e
wallet-core: reset reserve retry when resetting withdrawal retry 2021-12-13 11:28:15 +01:00
38d8239f93
idb-bridge: use lodash cloneDeep 2021-12-09 18:19:48 +01:00
423af144ee
put 'setInsecureTrustExchange' behind env variable in benchmark 2021-12-09 12:00:10 +01:00
dbfc599540
wallet-core: use crypto worker for eddsa signing 2021-12-09 10:39:50 +01:00
684c53e105
wallet-core: trust exchange for exchange benchmark 2021-12-08 16:23:00 +01:00
02bbf08283
wallet-core: fix computation of timestamp for exchange update 2021-12-08 01:52:24 +01:00
668ffa7302
wallet-core: implement exportDb API call 2021-12-01 18:16:47 +01:00
9f60e3d7ec
wallet: use correct denoms as refresh targets 2021-12-01 18:07:55 +01:00
dbbe1b0a61
fix recoup error handling 2021-12-01 12:23:17 +01:00
5c4c25516d
wallet: support both protocol versions 2021-11-27 20:57:07 +01:00
Sebastian
403de8170e
bump version to 0.9 2021-11-26 12:55:41 -03:00
Sebastian
f07436aa49
new exchange-added notifiaction and including tos information in the wxApi.listExchange api 2021-11-24 08:58:48 -03:00
7fac3bd17d
logging / explicit wire deadline 2021-11-24 01:57:11 +01:00
ae8af3f27c
wallet: tipping protocol change / merchant version info 2021-11-23 23:51:12 +01:00
Sebastian
60cfb0e78f
add reservePub to the withdrawal transaction info 2021-11-19 14:51:35 -03:00
Sebastian
4941546886
version 10 2021-11-19 14:51:35 -03:00
9f0429cb2f
wallet: implement exchange protocol v9 2021-11-17 10:23:30 +01:00
c33ed91971
wallet: experiment with C-based crypto worker for some primitives 2021-11-16 17:20:44 +01:00
ms
9692f589c6
Bring euFin-based tests to pass.
Note: timetravel-withdraw is now failing for both
pybank and eufin.  That is likely due to the wallet
not refreshing expired denominations.
2021-11-13 12:55:15 +01:00
ab6fd6c8c7
move HTTP status codes to taler-util 2021-11-03 13:17:57 +01:00
Sebastian
83b63d1cc0
FIXING: Insufficient Rollup version: @rollup/plugin-commonjs requires at least rollup@2.38 but found rollup@2.37.1. 2021-11-02 12:44:22 -03:00
589c2a3382
wallet-cli: benchmarking 2021-10-20 13:06:31 +02:00
269022a526
move some more crypto to taler-util package 2021-10-18 21:48:45 +02:00
c532648694
implement fakebank withdrawal 2021-10-14 11:36:43 +02:00
Sebastian
fbf501e727
fixing tos request 2021-10-13 14:26:18 -03:00
Sebastian
78fb5f79a8
fix browser packaging 2021-10-11 10:22:53 -03:00
e2fe2d6db1
add anastasis skeleton, put crypto in taler-util 2021-10-07 12:01:40 +02:00
Sebastian
bff5b3f59c
FIX: skip checking noncePriv eq if the URI doesn't specify a noncePriv value 2021-10-01 13:35:25 -03:00
Sebastian
62b64cb453
make no sense to send the noncePriv if the proposal is already paid 2021-09-20 00:17:45 -03:00
Sebastian
315b167bee
issue #5860 2021-09-17 15:49:07 -03:00
ms
490620ad04
Adapt tests to Sandbox' new access control. 2021-09-17 16:02:34 +02:00
Sebastian
9f00987380
added integration with the wallet-core to get info about the last tos approved 2021-09-13 15:32:15 -03:00
Sebastian
217f34397f
first approach to new design for withdraw 2021-09-08 15:35:44 -03:00
Sebastian
147da7c160
removing blocked scope due to babel/issues/8709#issuecomment-421538014 2021-08-24 13:24:56 -03:00
4c41e70565
DB schema cleanup 2021-08-24 15:43:06 +02:00
a09359bd39
implement freezing for payments 2021-08-24 15:08:34 +02:00
408d8e9fc8
towards handling frozen refreshes 2021-08-24 14:30:33 +02:00
828e65b0eb
fix un-offered denom situation, test case almost works 2021-08-23 22:28:46 +02:00
a3687d84ba
separate node entry points
Signed-off-by: Florian Dold <florian@dold.me>
2021-08-20 13:18:55 +02:00
a576fdfbf8
backup 2021-08-19 19:26:37 +02:00
f5a8ae33e3
cleanup / formatting 2021-08-19 18:34:23 +02:00
8929086ebf
logging 2021-08-19 16:06:09 +02:00
c0e6b6d0f6
run pending operations at least once, style fixes 2021-08-19 15:12:33 +02:00
defc393d6e
add missing file 2021-08-19 13:56:00 +02:00
3ce740d87d
store 'list issue date' of denoms, cleanup 2021-08-19 13:48:45 +02:00
2f945b2aeb
merchant test cases 2021-08-12 21:01:40 +02:00
df77676977
convert performance.now to integer before converting to BigInt 2021-08-12 19:20:48 +02:00
fb0f8043ea
reset deposit lastError 2021-08-07 18:19:04 +02:00
f40593185a
remove extra slash 2021-08-07 18:02:16 +02:00
c077c0d8c0
consider deposit operations for pending operations 2021-08-07 17:59:06 +02:00
e9da70b5b8
construct deposit URL correctly 2021-08-07 17:40:31 +02:00
06db37640e
perf: do bulk read 2021-08-06 17:15:46 +02:00
05e52d4e11
perf and logging improvements 2021-08-06 16:27:18 +02:00
9026b0aaad
merchant test: pass h_contract 2021-08-06 11:45:08 +02:00
Jonathan Buchanan
4f88d7f896
taler-wallet-core ios compatibility 2021-07-30 17:35:38 -04:00
Sebastian
7c2d2a3e15
simplest implementation to remove one provider, also added a user-defined name for provider 2021-07-15 15:05:15 -03:00
72f7664c70
comment 2021-07-13 14:13:38 +02:00
e2287d6d5b
make TextEncoder/Decoder creation lazy for polyfill to work 2021-07-13 14:10:38 +02:00
1c0cce3f58
tolerate zero-value payments 2021-07-12 15:55:31 +02:00
2a48caa341
improve error messages in DB transactions 2021-07-12 15:54:25 +02:00
0b854299d1
formatting 2021-07-12 15:13:04 +02:00
Sebastian
ebfc79756f
add providers filter to runBackupCycle 2021-07-07 13:28:10 -03:00
Sebastian
7ba3327322
exported backup types from wallet core 2021-07-01 11:33:48 -03:00
42fe576320
implement backup scheduling, other tweaks 2021-06-25 13:27:06 +02:00
3603a68669
sync: handle HTTP 304 correctly 2021-06-23 13:06:32 +02:00
eaced5ca63
set gzip timestamp to 0 in backup blob 2021-06-23 11:46:10 +02:00
6c14268c1a
skip existing coins when applying a pay coin re-selection 2021-06-23 10:18:40 +02:00
09d1dd83ec
prevent conflicting coin allocation with concurrent payments 2021-06-22 18:43:11 +02:00
39c4b42daf
implement long-polling for auto-refunds 2021-06-22 15:30:19 +02:00
c51b372abe
comment 2021-06-22 14:55:54 +02:00
e35c2f581b
simplify task loop, test coin suspension 2021-06-22 13:52:28 +02:00
7383b89cab
get rid of cyclic imports 2021-06-22 12:18:12 +02:00
Sebastian
d42a74565e
fix #6042 2021-06-21 10:08:35 -03:00
Sebastian
7f3ce304cb
missing globalThis Polyfill, remove duplicate url util 2021-06-20 16:14:56 -03:00
99550b0011
hide internal wallet state, keep it internal to package 2021-06-17 21:06:54 +02:00
Sebastian
954ed23911
using block inside case of switch breaks when building with babel 7
see https://github.com/babel/babel/issues/8709
2021-06-17 13:16:15 -03:00
a4902de891
temporary fix for exchange operations 2021-06-17 18:06:25 +02:00
Sebastian
1c7423dbad
fix support with webpack{4,5} in browser environment
added missing .js extension to the imports
split index
use browser field in package json
2021-06-17 12:49:47 -03:00
a70d37ef16
towards factoring out cyclic dependencies 2021-06-17 15:49:05 +02:00
453656b240
clean up imports 2021-06-17 14:31:13 +02:00
5df7ddba97
use the new wallet core API interface in all tests 2021-06-17 13:35:08 +02:00
b4b0d3ff61
allow any string as forgettable field salt 2021-06-16 12:04:06 +02:00
1124c709ac
use same salt derivation as C code for forgettable fields 2021-06-16 11:44:05 +02:00
52b8785d95
adjust imports 2021-06-15 19:01:05 +02:00
f0d5fe3ed6
split out wallet core API types 2021-06-15 18:58:11 +02:00
d41ae5eb97
separate wallet state from wallet client 2021-06-15 18:52:43 +02:00
ef636c022b
implement force-retrying transactions 2021-06-14 19:37:35 +02:00
b4f97f4592
make CSPRNG work on ES6 2021-06-14 18:19:18 +02:00
1cde390c23
fix up imports, no more esm in tests 2021-06-14 16:08:58 +02:00
cc795f350a
store ToS acceptance timestamp, remove unused backup attributes 2021-06-14 11:45:19 +02:00