Commit graph

274 commits

Author SHA1 Message Date
Adam Gibson
353b4aab8b
Merge #471: Auto-freezing of address reuse below a threshold.
d719ff2 Auto-freezing of address reuse below a threshold. (Adam Gibson)
2019-12-23 12:21:53 +00:00
Adam Gibson
d719ff2730
Auto-freezing of address reuse below a threshold.
Closes #274. Utxos are disabled if they are sent
to a reused address, and are below a threshold
set by the value `max_sats_freeze_reuse` in the
`POLICY` section of the config file. If the value
is -1, such utxos are always frozen irrespective of
the value.
Users are prompted with a warning level logging message
on CLI and a popup on Joinmarket-Qt. Such disabled utxos
can of course be re-enabled by the existing methods.
Also adds test case for address reuse freezing function.
2019-12-23 12:20:27 +00:00
Adam Gibson
3551c445e0
Merge #448: Qt: "Show QR code" only for "new" addresses
334b34d "Show QR code" only for "new" addresses (Kristaps Kaupe)
2019-12-21 15:01:24 +00:00
Adam Gibson
8fd8e10f77
add release notes and version numbers for v0.6.1 2019-12-10 11:51:58 +00:00
Adam Gibson
1e1b03d097
Don't allow receive-payjoin start up without coins
Fixes #459. If the mixdepth chosen is empty, shutdown
immediately with ARGERROR. User can either choose a
different mixdepth and try again, or receive payment
another way.
2019-12-06 16:09:00 +00:00
Adam Gibson
df3712f662
add release notes and version numbers for v0.6.0 2019-11-30 16:35:28 +00:00
Kristaps Kaupe
6926a31671
Allow both BTC and sat amounts for payjoin receive 2019-11-26 22:20:06 +02:00
Adam Gibson
eadbed2e02
Update receive-payjoin for walletservice arch 2019-11-26 14:31:04 +00:00
Adam Gibson
bc26bf3dfe
Merge #454: Make Qt check config fee filters as well as checktx
c571613 Make Qt check config fee filters as well as checktx (Adam Gibson)
2019-11-25 13:01:39 +00:00
Adam Gibson
0d87870920
Merge #453: Use restart_callback in all situations
24e50cd Use restart_callback in all situations (Adam Gibson)
2019-11-25 12:59:47 +00:00
Adam Gibson
24e50cd15b
Use restart_callback in all situations
Fixes #438
Prior to this commit, if Load Wallet were selected
from the menu and a wallet loaded did not have imports,
the restart prompt message appeared only on the console
and the application quit via sys.exit().
After this commit, the Qt restart callback is always used,
as intended. The case of recovery sync for old, heavily
used wallets is not covered.
2019-11-24 22:59:16 +00:00
Adam Gibson
8936cfcc72
Fixes #445
The variable mnemonic_extension is already of type str and so
the call to decode() in displayWords was a bug.
2019-11-24 20:27:29 +00:00
Adam Gibson
c57161303c
Make Qt check config fee filters as well as checktx
Prior to this commit, the user was prompted to check for
the acceptability of fees in Qt via a dialog, but settings
used in CLI (max_cj_fee_***) were not also being used the
same way in Qt.
After this commit, if the user has not added those settings,
a dialog is presented with new randomised defaults (as for
CLI), and otherwise any settings in the config file are read
and used.
2019-11-24 15:17:19 +00:00
chris-belcher
c52d1fb0d6
Merge #387: Implement 2/2019 plan to improve tumbler privacy
32479ae Modify tumbler defaults to improve privacy (chris-belcher)
b79d34a Remove amountpower and use uniform distn instead (chris-belcher)
f40ef2c Occasionally round amounts in tumbler schedule (chris-belcher)
35f23eb Add sweep coinjoins to start of tumbler schedule (chris-belcher)

Tree-SHA512: 8b1dc978b69deccc62cec43d22254a18f4860aae6fd87026e7b86d8f537a302ec5ed34f26efa04e1e29648cabe9dac57e0b452fa9fe6f74f6a22b0ce6b2be04a
2019-11-23 11:07:27 +00:00
chris-belcher
32479ae510
Modify tumbler defaults to improve privacy
This is part of the 2/2019 Plan to improve the privacy of JoinMarket's
tumbler script:
https://gist.github.com/chris-belcher/7e92810f07328fdfdef2ce444aad0968

Also text for the eventual release notes is provided
2019-11-23 09:05:24 +00:00
Adam Gibson
d9bcca3901
Allow custom schedules to work again after #367
PR #367 and follow up edits were designed to give a sanity
check to users for fees, but require specifying a payment
amount, this could be generalised to custom schedules but
for now the simplest change is to remove this check for
schedules. Thanks to @roshii for flagging the error.
2019-11-18 17:17:46 +00:00
Adam Gibson
32da0f557c
Merge #440: Preserve comments in config file when using Qt
5d4fc41 Preserve comments in config file when using Qt (AdamISZ)
2019-11-18 13:55:10 +00:00
cindiv
52108b62d8 Update exit codes
Many exit codes were 0 (success) when they should have been 1
(general failure) or 2 (argument error). This corrects that.

Related: #409
2019-11-17 03:51:04 +00:00
chris-belcher
b79d34a348
Remove amountpower and use uniform distn instead
Remove the power law generation for amount_fractions, instead use
a uniform distribution

This is part of the 2/2019 Plan to improve the privacy of JoinMarket's
tumbler script:
https://gist.github.com/chris-belcher/7e92810f07328fdfdef2ce444aad0968
2019-11-14 17:49:07 +00:00
chris-belcher
f40ef2c795
Occasionally round amounts in tumbler schedule
The schedule format gets an extra field added denoting the number of
significant figures to round the coinjoin amounts to, with 16 meaning
no rounding.

This is part of the 2/2019 Plan to improve the privacy of JoinMarket's
tumbler script:
https://gist.github.com/chris-belcher/7e92810f07328fdfdef2ce444aad0968
2019-11-14 17:49:06 +00:00
chris-belcher
35f23eb6b7
Add sweep coinjoins to start of tumbler schedule
The tumbler schedule is split into two stages. Stage 2 is the same
as before while stage 1 attempts to fully spend each mixdepth in a
sweep coinjoin with no change address.

The wait time between these stage 1 coinjoins is longer than for
stage 2 coinjoins, the increase is determined by a new parameter
called `stage1_timelambda_increase`.

This is part of the 2/2019 Plan to improve the privacy of JoinMarket's
tumbler script:
https://gist.github.com/chris-belcher/7e92810f07328fdfdef2ce444aad0968
2019-11-14 17:49:04 +00:00
Kristaps Kaupe
334b34d77b
"Show QR code" only for "new" addresses 2019-11-13 03:44:19 +02:00
chris-belcher
27c2cd6a4a
Merge #437: Abort wallet generation if mnemonic extension choosen but not provided
e6c0575 Abort wallet generation if mnemonic extension choosen but not provided (Kristaps Kaupe)

Tree-SHA512: 4830654fabafc98c91a8031672a3df99128a48e58321338a9dbcf951d9c1f8cfe9ab914c38d6111f65cf4ef4658971e5be9bb78662ffc7e87e0ede50ad8bd8d7
2019-11-11 19:42:46 +00:00
chris-belcher
6ec8b09ce0
Merge #441: Allow both BTC and sat amounts for single send / CJ
b2e4308 Allow both BTC and sat amounts for single send / CJ (Kristaps Kaupe)

Tree-SHA512: be9d728831a97ce89fa28efd88f919e3e4be454b4b8e0d2ab165b22a60c02c5c1bf62a5f36a690f88da17e41f2beef624775a6fbdb710868f97c130fc2917f57
2019-11-11 10:18:19 +00:00
Adam Gibson
0604f62250
Merge #439: Qt: Handle exceptions in direct_send()
1c01f76 Handle exceptions in direct_send() (Kristaps Kaupe)
2019-11-08 16:14:24 +00:00
AdamISZ
5d4fc412ab
Preserve comments in config file when using Qt
Since ConfigParser does not sufficiently support comments
in config objects, in order to support dynamic update of
the config from within a run, this PR edits the config
file at the same time as updating the config object, so
as to prevent the earlier problem that all comments in the
config file were lost whenever Qt updated the file with
the new config object.
2019-11-08 16:09:41 +00:00
Kristaps Kaupe
b2e4308a90
Allow both BTC and sat amounts for single send / CJ 2019-11-08 00:37:09 +02:00
Adam Gibson
9db732553d
Merge #432: Rename "Exit" to "Quit" in Wallet menu
c23c982 Rename "Exit" to "Quit" in main menu (Kristaps Kaupe)
2019-11-07 16:27:58 +00:00
Kristaps Kaupe
1c01f766c2
Handle exceptions in direct_send() 2019-11-07 01:46:39 +02:00
Kristaps Kaupe
e6c0575659
Abort wallet generation if mnemonic extension choosen but not provided 2019-11-06 22:08:49 +02:00
Adam Gibson
489aedcca2
move maker_timeout_setting to regtest_joinmarket.cfg 2019-11-04 13:04:21 +00:00
Kristaps Kaupe
c23c9827e9
Rename "Exit" to "Quit" in main menu 2019-11-03 23:01:05 +02:00
Adam Gibson
dc77b1a583
Merge #427: Add --wallet-password-stdin
b83e27c Add --wallet-password-stdin (cindiv)
2019-11-03 12:48:54 +00:00
cindiv
b83e27c391 Add --wallet-password-stdin
Related: Issue #409
2019-11-02 19:01:08 +00:00
chris-belcher
b3c54ca4ae
Rename variable that was previously missed
The commit `d612779` aimed to rename a variable in joinmarket-qt.py
but this case here was missed
2019-10-31 21:21:09 +00:00
chris-belcher
c1bd773ae0
Merge #381: Remove txfee_default
5c0b9eb Remove txfee_default: used as user estimation for initial     tx_fee estimate, but removing this option and replacing     it by the existing estimation (using tx_fee config setting)     makes more sense. (AlexCato)

Tree-SHA512: 47790b27ba81e0e4b832a739bafde936852c6e85158dc06bcb7aa1117f7c8ee9a97df45c7c6e7b6050e33135e93457f705ab67f77f3008735f70f6112ebde3af
2019-10-31 08:09:17 +00:00
AlexCato
5c0b9ebcfc Remove txfee_default: used as user estimation for initial
tx_fee estimate, but removing this option and replacing
    it by the existing estimation (using tx_fee config setting)
    makes more sense.
2019-10-30 22:40:42 +01:00
AlexCato
0ab5b6560c Redefine cli-option --txfee: Treat it as txfee to be used
in the JM TX's instead of just for preliminary
    estimations. Now it is a way to temporarily override
    the tx_fees setting in joinmarket.cfg and behaves
    exactly the same way as describes there.
2019-10-30 08:58:13 +01:00
chris-belcher
91f978d1d8
Merge #418: Add dialog for displaying seed phrase to JM-Qt
9dee0d7 Add dialog for displaying seed phrase to JM-Qt (chris-belcher)

Tree-SHA512: fa8b30c8078f85e9c877d23cff426fe031b74c2adff22609b59c0642ebfb7779986fbb7142906a707a4d1458db08823691d226ee80ca3154cc2cb04da89a86fb
2019-10-25 20:46:39 +01:00
chris-belcher
d61277909b
Merge #417: [Refactor] Rename single-letter main window variable from w
fdc6194 Rename single-letter main window variable from `w` (chris-belcher)

Tree-SHA512: 05de7113fb9c62b708c2432e11fcf77d59da244f3f84500fb90658bc60e247e6dcb47837ab5decd03f545e91369368a2251fb1d032907f1b0cc31a4b291ce96a
2019-10-25 20:32:20 +01:00
chris-belcher
9dee0d7ca9
Add dialog for displaying seed phrase to JM-Qt 2019-10-25 20:29:51 +01:00
chris-belcher
4efa1504d2
Merge #421: Qt: Handle already existing wallet file on recover
ed825d5 Handle already existing wallet file on recover (Kristaps Kaupe)

Tree-SHA512: ca461377fb82ff64cced09ec27193ca27e81787cbff1d4e730f263aa54bd5bedd1aab7ed22ebb732802559d8989b781e7fb232f90d3299f2535f39e6d99025ab
2019-10-25 20:18:44 +01:00
chris-belcher
fdc6194006 Rename single-letter main window variable from w 2019-10-25 20:08:34 +01:00
AdamISZ
98f2b54409
Merge #423: don't use native dialog for schedule open
02c2b4b don't use native dialog for schedule open (AdamISZ)
2019-10-25 12:00:17 +01:00
AdamISZ
9e6fb98002
Merge #359: Improvements to wallet syncing and monitoring
c654de0 Wallet and blockchain refactoring (AdamISZ)
2019-10-25 11:59:01 +01:00
AdamISZ
c654de05ff
Wallet and blockchain refactoring
Introduces WalletService object which is in control of
blockchain and wallet access.
The service manages a single transaction monitoring loop,
instead of multiple, and allows updates to the wallet from
external sources to be handled in real time, so that both Qt
and other apps (yg) can respond to deposits or withdrawals
automatically.
The refactoring also controls access to both wallet and
blockchain so that client apps (Taker, Maker) will not need
to be changed for future new versions e.g. client-side filtering.
Also updates and improves Wallet Tab behaviour in Qt (memory
of expansion state).
Additionally, blockchain sync is now --fast by default, with
the former default of detailed sync being renamed --recoversync.
2019-10-25 11:33:39 +01:00
AdamISZ
02c2b4baad
don't use native dialog for schedule open 2019-10-22 22:21:49 +01:00
Kristaps Kaupe
ed825d5cc8
Handle already existing wallet file on recover
Related to cdde41e162
2019-10-19 16:28:50 +03:00
Kristaps Kaupe
8ec948ec1d
Fix context menu for bech32 addresses in tx history tab 2019-10-10 01:50:37 +03:00
Daniel Kraft
35ebfd0402 Fix yg-privacyenhanced.py for recent change.
In https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/406,
the YieldGeneratorBasic was refactored, and yg-privacyenhanced.py adjusted
as well.

This fixes the script for changes made to the PR while in review, which
was missed in the PR itself.
2019-10-08 07:32:41 +02:00