Commit Graph

595 Commits

Author SHA1 Message Date
b7f7b95602
wallet-core: towards faster coin selection 2022-09-16 16:31:16 +02:00
Sebastian
5d08379139
working on #7357
getTransactionById is introduced:
 with that we move all transaction information building into a function
transactionId was added in every response that creates a tx
2022-09-16 11:13:09 -03:00
a66b636dee
wallet-core: restructure denomination record for easier querying 2022-09-14 21:27:03 +02:00
c021876b41
wallet-core: cache fresh coin count in DB 2022-09-14 20:40:38 +02:00
Sebastian
9d044058e2
fixing properly adding query params 2022-09-14 08:37:33 -03:00
Sebastian
f026a8d326
import a complete database from cli 2022-09-14 08:19:59 -03:00
962bfde214
wallet-core: fix withdrawTestBalance command 2022-09-13 17:41:47 +02:00
676ae5102b
fix test and logging 2022-09-13 16:10:42 +02:00
48540f6264
wallet-core: introduce easier syntax for transactions 2022-09-13 16:10:42 +02:00
13e7a67477
wallet-core: uniform retry handling 2022-09-13 16:10:41 +02:00
b645d793df
wallet-core: fix creation of refresh session after peer-{push,pull} 2022-09-12 20:52:01 +02:00
Sebastian
27201416c7
ref #7323 2022-09-12 10:58:09 -03:00
fc413bb5ec
wallet-core: make bank access API URL optional in runIntegrationTest 2022-09-12 14:09:28 +02:00
9b2d6d766f
include age commitment proof in refreshed coins 2022-09-08 14:02:09 +02:00
319d51dc42
bump DB major version 2022-09-06 23:19:53 +02:00
Sebastian
1e00724a0d
listExchangesDetailed to getExchangeDetailedInfo & ageRestriction taken from the denoms 2022-09-06 17:17:50 -03:00
3f5a76751b
wallet-core: make listExchanges return less data
Since the webextension UI depends on the full response, we have a
temporary listExchangesDetailled request.
See https://bugs.taler.net/n/7323 for details.
2022-09-05 21:09:28 +02:00
Sebastian
d7a55a165f
replace __VERSION__ with a string definition 2022-09-05 13:04:31 -03:00
Sebastian
e0e33a88db
adding informantion about the service worker version on the setting page 2022-09-05 13:04:31 -03:00
4a0512884d
upgrade typescript (and some related deps) 2022-09-05 16:20:01 +02:00
43b893b8c4
consider supported wire types when selecting coins
Also add an integration test to check for the correct wallet behavior.
2022-09-05 15:38:47 +02:00
27fb2d2970
wallet-core: fix format of purse deposits 2022-09-05 13:26:09 +02:00
300242637f
wallet-core: include age restriction in p2p signature, mark coins as spent 2022-09-05 12:55:46 +02:00
9fe0e74256
wallet-core: fix withdrawal of age-restricted denoms without age restriction 2022-09-01 22:43:57 +02:00
ec43b6a5bf
wallet-core: fix issue with crock encoding of age restrictions 2022-09-01 22:26:22 +02:00
Sebastian
94eeab8ad0
more information about p2p:
- added the contract terms on WgInfoBankPeerPush and WgInfoBankPeerPull, so we can show summary and expiration in the ui
 - added info: PeerInfoShort on Transaction* type
 - definition of completed p2p tx:
   - push debit: Amounts.cmp(sentAmount, pickedUpAmount) === 0. is this transfer already picked up? (not working)
   - pull debit: pi.paid, is this invoice already paid?
   - pull credit: wsr.timestampFinish, has someone already paid my invoice?
   - push credit: wsr.timestampFinish, have I already picked up this?
 - changed the txId of peer pull debit to have the incomingId instead of pursePub (allow deletion)
2022-09-01 08:42:45 -03:00
Sebastian
d84424202d
p2p tx rendering 2022-08-31 00:20:35 -03:00
Sebastian
6610a0b9d7
add senderWire to the withdrawal group again, group payto to avoid duplication 2022-08-29 13:23:22 -03:00
Sebastian
eef2d47020
exchange selection: timeline done 2022-08-26 01:09:47 -03:00
30e8fd83c2
wallet-core: fix revocation, re-introduce reserves object store 2022-08-26 01:18:01 +02:00
70d0199572
integration tests: various fixes 2022-08-25 23:35:29 +02:00
499e003ff8
specify bank access API separately in tests 2022-08-25 18:34:25 +02:00
22bc73ac4b
wallet-core: fix db index on withdraw URI 2022-08-25 17:49:24 +02:00
f3231ccdf9
wallet-core: put taler:// URIs in transactions list 2022-08-24 22:42:30 +02:00
a11ac57535
wallet-core: p2p support for transactions list 2022-08-24 22:17:19 +02:00
bf516a77e8
fix idb bug, p2p integration test 2022-08-24 21:07:13 +02:00
42c2b7508f
wallet-core: fix withdrawal idempotency 2022-08-24 19:44:24 +02:00
d32d2895ce
-get p2p pull integration test to run through 2022-08-24 11:11:02 +02:00
bc434ebb83
use fakebank for integration tests 2022-08-23 22:30:05 +02:00
f3ff5a7225
peer-to-peer pull payments MVP
p2p pull wip
2022-08-23 20:35:11 +02:00
Sebastian
d1980c39fc
moved wireInfo and denomInfo into taler-util so it can be used from the ui 2022-08-18 16:02:16 -03:00
Sebastian
f5441a682d
fix: for bitcoin withdrawal the exchange payto:// is not enough and the withdrawal payto should always have the reserve pub 2022-08-18 11:30:16 -03:00
Sebastian
17e627c2f0
default exchange 2022-08-17 16:12:44 -03:00
ac8f116780
implement peer to peer push payments 2022-08-16 17:55:12 +02:00
Sebastian
4409d8384b
add delivery info in the parse contract terms and a function to get info from a proposalId 2022-08-08 13:53:04 -03:00
Sebastian
84634a4ab4
removed the type check when accessing h_age_com 2022-07-21 10:32:30 -03:00
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