Commit Graph

922 Commits

Author SHA1 Message Date
4d70391f3d
wallet-core: address another DB FIXME 2022-10-14 23:01:41 +02:00
3a2b96f3c2
wallet-core: address DB FIXME 2022-10-14 22:56:29 +02:00
b36807aa0f
-fix ID parsing 2022-10-14 22:49:32 +02:00
0c8e56c324
wallet-core: properly separate different types of IDs 2022-10-14 22:47:11 +02:00
eec6695be0
wallet-core: DB tweaks, consistent file naming convention 2022-10-14 22:38:40 +02:00
a57fcb144d
wallet-core: pull out ToS into separate object store 2022-10-14 22:10:10 +02:00
f1cba79c65
wallet-core: DB tweaks 2022-10-14 22:10:10 +02:00
398e79d0d6
-remove obsolete README section 2022-10-14 22:10:10 +02:00
6acddd6d70
wallet-core: get rid of duplicated withdrawal info API 2022-10-14 18:48:03 +02:00
ca8da4ed38
wallet-core: only allow enabling dev mode via separate request 2022-10-13 15:24:47 +02:00
83d4a1addc
use node16 for wallet-core, delete unused taler-config-lib package 2022-10-13 15:14:49 +02:00
b0223d662a
use node16 module resolution for taler-util 2022-10-13 14:52:18 +02:00
eb5b075c01
update deps, move idb-bridge to node16 module resolution 2022-10-13 14:24:20 +02:00
ded00b680a
wallet-core: implement enabling/disabling dev mode 2022-10-12 22:27:50 +02:00
3da1e82a24
wallet-core: skeleton for dev-experiments 2022-10-12 21:20:22 +02:00
8bfa77200e
wallet-core: handle missing purchase status cases 2022-10-12 21:19:14 +02:00
Sebastian
610df1c9cf
create a fee description timeline for global fee and wire fees 2022-10-12 15:58:10 -03:00
Sebastian
cb44202440
adding global fee info from exchange 2022-10-12 14:37:26 -03:00
Sebastian
f184ecb06b
pretty 2022-10-10 14:54:14 -03:00
Christian Grothoff
eb71c788ac
-fix typos 2022-10-10 17:50:00 +02:00
19f3e6321d
wallet-core: put contract terms into separate object store 2022-10-09 02:23:06 +02:00
8ac5080607
wallet-core: more DB and refund fixes 2022-10-08 23:45:49 +02:00
3897bd4f01
wallet-core: spec/clarify explicit refresh transaction 2022-10-08 23:21:34 +02:00
526f4eba95
wallet-core: Clean up merchant payments DB schema 2022-10-08 23:07:07 +02:00
eace0e0e7a
-organize imports 2022-10-07 14:45:55 +02:00
f479ca0139
wallet-core: fix/deduplicate funding payto URI generation for withdrawals 2022-10-07 14:45:25 +02:00
a93a0cae13
wallet-core: fix busy wait when long-polling for manual withdrawal 2022-10-07 14:23:23 +02:00
1256c8704b
-logging 2022-10-07 12:47:31 +02:00
957f9a5efb
wallet-core: fix default auditor/exchange loading logic 2022-10-05 18:31:56 +02:00
99ace8b7d2
integration tests: make test-wallet-cryptoworker pass 2022-10-05 16:01:59 +02:00
70d37e4ed3
integration tests: test crypto worker
We test instantiations of both crypto workers that are available for
node.
2022-10-05 15:45:28 +02:00
efc4ac8dca
wallet-core: add missing worker-common.ts file 2022-10-05 15:18:14 +02:00
dd14e67c70
wallet-core: improve crypto worker code duplication
Also add new testCrypto call for later testing
2022-10-05 12:52:49 +02:00
4d232fd565
wallet-core: canonicalize base URL from bank on withdrawal 2022-10-05 11:11:51 +02:00
66ae0dd220
wallet-core: more info in error message 2022-10-05 10:22:32 +02:00
21fd8074cd
wallet-core: more info in types 2022-10-04 18:45:01 +02:00
3cecb7e4b4
wallet-core: better API docs 2022-10-04 15:30:18 +02:00
37d27ba437
restructure api types 2022-10-04 13:12:23 +02:00
3bf4ce7f13
wallet-core: return correct status from processReserveBankStatus 2022-09-30 13:22:00 +02:00
0a3f9979b2
firefox hotfix 2022-09-30 13:11:17 +02:00
0cf147ba98
wallet-core: don't run into busy loop if only long-polling tasks are left 2022-09-28 19:07:37 +02:00
37243d4d8c
Revert "fix: long polling doesnt wait"
This reverts commit 4382e090ab.
2022-09-28 19:04:42 +02:00
Sebastian
4382e090ab
fix: long polling doesnt wait 2022-09-28 13:38:36 -03:00
Sebastian
7ce1cea1c7
fix: missing crypto error handling improvement 2022-09-28 13:15:31 -03:00
25eb7624b3
wallet-core: improve crypto worker error handling 2022-09-26 14:40:11 +02:00
2337ddab61
wallet-core: fix withdrawal state machine 2022-09-23 21:47:38 +02:00
8d19b80153
wallet-core: backwards compatibility for bankAccounts store, naming conventions 2022-09-23 21:00:51 +02:00
72336b149b
wallet-core: do not block when accepting a manual withdrawal 2022-09-23 20:38:26 +02:00
Sebastian
fbf0502672
add bank account record 2022-09-23 15:18:49 -03:00
2489001d83
bump versions 2022-09-23 10:32:04 +02:00
4649469b58
wallet-core: DB improvements 2022-09-21 22:50:42 +02:00
a398959670
wallet-core: use more numeric fields 2022-09-21 22:50:42 +02:00
7d6bcd42ea
wallet-core: use numeric status field to allow range queries 2022-09-21 22:50:42 +02:00
Sebastian
2caef6dcf2
moving deposit group fee into taler util 2022-09-21 15:45:41 -03:00
26cf19ab6c
wallet-cli: add --expect-success flag, exit with error on max retries 2022-09-21 19:53:38 +02:00
28b4489bea
wallet-core: make basic backup work again 2022-09-21 12:40:11 +02:00
Sebastian
7adaeff0a5
pretty 2022-09-20 20:26:47 -03:00
Sebastian
415874fdfb
check age mask before 2022-09-20 20:26:47 -03:00
16a5bb4083
wallet-core: make basic backup work again 2022-09-20 23:17:42 +02:00
f63765b9f7
wallet-core: fix tipping with age restricted denoms 2022-09-19 17:08:04 +02:00
ffe6a95214
wallet-core: handle suspended coins properly in refresh 2022-09-19 14:42:04 +02:00
d34f8e48da
wallet-core: make coin availability accounting idempotent 2022-09-19 12:48:11 +02:00
d759c7e78a
-comment 2022-09-19 12:21:15 +02:00
f1f332e0a6
-also check for revoked 2022-09-19 12:21:00 +02:00
e4679fba51
wallet-core: only pay with coins of offered denominations 2022-09-19 12:19:58 +02:00
fd752f3171
wallet-core: hide transient pay errors 2022-09-19 12:13:31 +02:00
cffc4347a0
wallet-core: add wire method check in new coin selection 2022-09-19 11:28:47 +02:00
Sebastian
ba5f8ad386
p2p was not returning the value 2022-09-17 18:40:03 -03:00
Sebastian
860f10e6f0
pretty 2022-09-16 14:27:24 -03:00
4b72bbd017
wallet-core: fix mixed age restrictions 2022-09-16 17:51:07 +02:00
117baf0e5b
-fix compiler error 2022-09-16 17:41:13 +02:00
183c836614
-wallet-core: merge DenominationInfo and DenomInfo 2022-09-16 17:35:06 +02:00
16e7814445
-move declaration 2022-09-16 17:21:54 +02:00
d6c545a0ba
-prettier, fix type error 2022-09-16 17:04:32 +02:00
374d3498d8
-cleanup 2022-09-16 16:34:00 +02:00
b91caf977f
wallet-core: support age restrictions in new coin selection 2022-09-16 16:32:21 +02:00
2747bc260b
wallet-core: support forced coins in new coin selection algo 2022-09-16 16:31:16 +02:00
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
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
6e11b69cf5
allow changing the wallet device ID 2021-06-14 11:21:29 +02:00
af2ad00d84
store exchange public key with signature on denomination 2021-06-11 13:26:18 +02:00
7d15ce3d88
make retryInfo optional 2021-06-11 13:18:33 +02:00
e77510106f
simplify retry timeout handling 2021-06-11 11:15:08 +02:00
8ad36d89f5
simplify pending transactions, make more tests pass again 2021-06-10 16:32:37 +02:00
7b7e3b4565
transaction fixes 2021-06-10 10:37:49 +02:00
67e5d68b93
fix merchant instance creation in some tests 2021-06-10 10:00:36 +02:00
0ee44c3a58
add missing await 2021-06-09 16:47:45 +02:00
2d4a53f522
return transaction context 2021-06-09 16:20:50 +02:00
029b07be4b
imports 2021-06-09 15:43:48 +02:00
3d2b7b2a65
formatting: re-run prettier 2021-06-09 15:26:18 +02:00
5c26461247
database access refactor 2021-06-09 15:24:19 +02:00
Sebastian
1d55c551bb
moving strings from wallet-core to web-extension 2021-06-08 17:18:24 -03:00
Sebastian
2e1438eb04
moving logger into taler-util 2021-06-08 17:18:24 -03:00
Sebastian
e1b363c7dd
delete database when pressing reset-db 2021-06-04 12:42:35 -03:00
5e6cc41b7a
fix issues with circular imports
Parts of this commit are from a patch by sebasjm.  The circular imports
caused an issue with webpack.  While we don't use webpack in the wallet,
the wallet should still be importable by webpack.

Some packages were importing their dependencies via "index.js", which
re-exports public exports of the package.  This resulted in circular
dependencies which were resolved correctly by rollup, but not by
webpack.
2021-06-02 13:56:29 +02:00
02f1d4b081
support multiple exchange details per base URL 2021-06-02 13:24:28 +02:00
a68af80514
typo 2021-05-21 13:32:49 +02:00
6b1aea426a
tombstone processing in backup import 2021-05-21 11:47:24 +02:00
bb10e038c9
also allow deleting individual refunds, tombstoned by their execution time 2021-05-20 19:03:49 +02:00
9a861b80ef
allow deletion via API 2021-05-20 18:27:35 +02:00
6f1b7f5b99
implement more deletion operations 2021-05-20 17:11:44 +02:00
6fc9a052b7
implement deletion of withdrawal transactions 2021-05-20 16:24:41 +02:00
1fb1827002
fix trust check 2021-05-20 13:17:04 +02:00
851ac5602c
add UIDs for deletion tombstones to auditor/exchange trust management 2021-05-20 13:15:11 +02:00
e7e337605e
remove unused interfaces 2021-05-17 12:58:18 +02:00
f4ec5b1a32
implement currencies subcommand 2021-05-12 16:18:32 +02:00
b1500241f7
tombstones 2021-05-12 15:26:15 +02:00
4fdcaab632
model more backup provider errors 2021-05-12 14:16:01 +02:00
debc2254fd
towards backup based on add/remove set instead of clocks 2021-05-12 13:35:04 +02:00
Christian Grothoff
9b89387535
fix spelling issues 2021-04-27 23:42:25 +02:00
f4b5f3cff8
implement debug flag for allowing late withdrawal 2021-04-14 18:21:23 +02:00
14f13250a0
forgettable information validation WIP 2021-04-14 14:36:46 +02:00
94f251fc39
add validation for forgettable JSON 2021-04-13 17:17:43 +02:00
e719f7981e
implement DD18 (forgettable fields in contract terms) 2021-04-12 19:21:16 +02:00
4fa88007f9
get coin re-selection after accidental double spending to work 2021-04-07 19:29:51 +02:00
2be1c3c8bd
re-add tests, more coin selection tests 2021-03-27 20:48:44 +01:00
93128f9358
fix coin selection 2021-03-27 19:35:44 +01:00
51f2ad9b6d
use static helpers for amounts 2021-03-17 18:21:43 +01:00
07cdfb2e4e
towards wallet-core / util split 2021-03-17 17:56:37 +01:00
42a4d666f4
sort is done after candidate selection 2021-03-15 13:45:24 +01:00
44b1896b9e
improved pay coin selection
support for multiple exchanges and healing a previous selection
2021-03-15 13:44:25 +01:00
fb3da3a28d
towards recovering from accidental double spends 2021-03-11 13:08:41 +01:00
1392dc47c6
finish first complete end-to-end backup/sync test 2021-03-10 17:11:59 +01:00
ac89c3d277
restructure sync, store errors 2021-03-10 12:00:30 +01:00
1a0610f222
WIP: wallet backup integration test 2021-03-03 21:20:05 +01:00
58ef1e13df
fix build error from rename 2021-02-09 19:40:24 +01:00
8c92499d85
idb: add first web platform tests, fix issues detected by them 2021-02-08 19:59:19 +01:00
5ff5a686e4
organize imports 2021-02-08 15:38:34 +01:00
f234eef469
increase pay timeout 2021-02-05 12:10:56 +01:00
8425d79d48
make auth token optional 2021-02-04 18:26:22 +01:00
b4d85be1c8
formatting 2021-02-04 18:20:23 +01:00
f262b28812
use new auth token for merchant in integration tests 2021-02-04 17:13:31 +01:00
Sebastian
4845ebddf6
0006728: set up wallet CI pipeline for WebExtension build
This commit split in three main things:
 * added deploy-webext to upload the extension zipfile
 * put scope into the npm packages to be able to deploy them
 * added deploy-npm to deploy related npm packages

Also, fixing bug on `make clean`. Some packages where not
being deleting tsconfig.tsbuildinfo and making subsequent
`make` fail
2021-02-01 17:07:22 -03:00
470edf886a
upgrade dependencies 2021-01-22 15:39:58 +01:00
60030ec06a
npm files 2021-01-22 14:56:00 +01:00
e3797d2577
prepare command 2021-01-22 14:54:03 +01:00
a1c3547db4
taler-wallet-core: version bump 2021-01-22 14:52:04 +01:00
5f3c02d31a
implement deposits 2021-01-18 23:35:41 +01:00
a90565f263
rename 2021-01-14 18:48:01 +01:00
6233fd39c3
bump version, compat fix 2021-01-14 18:47:18 +01:00
93633ac683
logging 2021-01-14 18:04:17 +01:00
19eb72e277
logging, cosmetic fixes 2021-01-14 18:00:00 +01:00
6293de7bfa
fix reserve state machine bug, use simpler denominations in revocation test 2021-01-14 17:24:44 +01:00
096d21189c
typo 2021-01-13 00:55:47 +01:00
7de5ceaa74
auto format 2021-01-13 00:51:30 +01:00
050999a910
implement infrastructure for future DB migrations via backup 2021-01-13 00:50:56 +01:00
6772c54793
backup WIP 2021-01-12 17:17:34 +01:00
270d84d611
remove excessive logging 2021-01-11 00:22:06 +01:00
57d7c988b3
exchange protocol changes 2021-01-10 23:59:11 +01:00
c0dfcf247c
backup schema 2021-01-10 23:57:06 +01:00
8921a5e8f2
implement import of backup recovery document 2021-01-08 13:30:29 +01:00
324f44ae69
backup cycle 2021-01-07 19:50:53 +01:00
2650341042
implement backup encryption, some more CLI commands 2021-01-07 18:56:09 +01:00
b2e213bae6
imports 2021-01-07 15:32:04 +01:00
e0f574e23c
re-add secretbox functionality of nacl 2021-01-07 15:31:07 +01:00
a3313ce3f8
nacl: apply fix for overflow
See https://github.com/dchest/tweetnacl-js/issues/187
2021-01-07 15:05:36 +01:00
e319e99ef9
restore denom selection on import 2021-01-07 15:01:23 +01:00
458777c5a2
fix tipping planchet derivation 2021-01-06 17:06:19 +01:00
c032931f22
get basic test cases to work with new exchange 2021-01-05 17:59:50 +01:00
03810fd248
backup import 2021-01-04 13:30:38 +01:00
95568395ce
backup import WIP 2020-12-21 13:23:07 +01:00
84d5b5e5ef
export complete backup, derive planchets in withdrawal 2020-12-17 12:21:03 +01:00
bafb52edff
don't store reserve history anymore, adjust withdrawal implementation accordingly 2020-12-16 17:59:04 +01:00
c09c5bbe62
derive tipping planchets from seed, implement backup further 2020-12-15 17:12:22 +01:00
f332d61fb6
formatting pass 2020-12-14 16:45:15 +01:00
12234083ec
derive refresh info from secret seed 2020-12-14 16:44:42 +01:00
80a0fab126
backup schema 2020-12-10 17:50:17 +01:00
c27a7abfba
backup WIP (getting it back to build) 2020-12-08 19:53:59 +01:00
80f5d2d0f3
make coins part of their denomination in backup 2020-12-08 12:16:01 +01:00
0e33e540f3
CRDT-style tombstones 2020-12-07 23:32:20 +01:00
6f474a3b9d
store device ID 2020-12-07 23:19:14 +01:00
d3cc20b6cc
remove some redundancy 2020-12-07 23:13:55 +01:00
105898bf6e
recoup groups are also part of the backup 2020-12-07 23:11:57 +01:00
3a85de7fa4
do not store derived information information 2020-12-07 23:07:03 +01:00
6d7978986b
comment 2020-12-07 23:00:54 +01:00
e78df9b6b1
backup schema WIP 2020-12-07 22:54:36 +01:00
bd88f3f443
backup schema WIP 2020-12-07 20:24:16 +01:00
bbd65fc4b7
restore blind signing compatibility with exchange 2020-12-07 15:59:37 +01:00
2c536d140f
tvgcheck 2020-12-03 14:15:40 +01:00
ca140d9905
add old test vector 2020-12-02 22:27:42 +01:00
1ad064a2a5
regression tests 2020-12-02 21:56:20 +01:00
89f1a281fe
backup WIP 2020-12-02 14:55:04 +01:00
0828e65f88
fix static types 2020-11-27 11:23:06 +01:00
4e481a51c6
more static typing for transactions (fixes #6653) 2020-11-26 22:14:46 +01:00
2b19594e7a
hide transient errors when accepting a tip 2020-11-26 12:27:31 +01:00
9cd1062f1b
towards a nicer transaction history 2020-11-18 17:33:02 +01:00
d6409f185d
re-enable tipping support in the WebExtension UI 2020-11-18 12:44:06 +01:00
3d5a766b5f
update version and dependencies 2020-11-17 12:28:51 +01:00
af5a35def0
only query tip status on first call to prepare 2020-11-16 16:17:26 +01:00
7e07ad6b2a
use index to check existing tip record 2020-11-16 14:48:33 +01:00
292160f7e9
fix tip record creation, migrate DB 2020-11-16 14:12:37 +01:00
Christian Grothoff
c17a9392cb
fix typo 2020-11-08 23:27:19 +01:00
f27a85735d
update error codes 2020-11-08 14:09:33 +01:00
Christian Grothoff
c5b25d1cbd
update error codes 2020-11-08 01:20:50 +01:00
df91441296
handle transient pay errors (fixes #6607)
Also add a test case for the behavior.
2020-11-04 12:07:34 +01:00
dffb293f2a
check contract terms signature, handle errors 2020-11-03 17:39:30 +01:00
0d37ec5e91
complain about merchant base URL mismatch, fixing #6616 2020-11-03 16:46:43 +01:00
ce326361b4
update error codes 2020-11-03 16:03:27 +01:00
e259d109ef
fix CheckPaymentPaidResponse schema 2020-11-03 13:47:02 +01:00
MS
7008de598d
fix 'taler+http://' interpretation 2020-10-02 17:16:19 +02:00
Florian Dold
bc01a04dc4
version bump 2020-09-09 21:18:11 +05:30
Florian Dold
f32062ccf0
check bank's protocol version first, fix typo 2020-09-09 21:16:20 +05:30
Florian Dold
3d6a312f48
bump to 0.8.0-rc.1 2020-09-09 12:50:08 +05:30
Florian Dold
71abddec5e
make withdrawal, pay and refunds work in the WebExtension 2020-09-09 12:45:49 +05:30
Florian Dold
35999179b1
comment 2020-09-09 11:48:50 +05:30
Florian Dold
7d9c98a90c
include proposal ID, to allow aborting 2020-09-09 02:22:22 +05:30