Commit graph

237 commits

Author SHA1 Message Date
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
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
Daniel Kraft
8b1e24e20a Make yg algorithms easier to define.
This refactors YieldGeneratorBasic a bit.  In particular, we move things
that custom algorithms will most likely want to change to separate
functions.  That way, it is easy to define the behaviour of inputs
and outputs for the join without the need to duplicate the other, more
general logic of create_my_orders and oid_to_order.
2019-10-05 11:49:10 +02:00
AdamISZ
ad655211eb
Validate addresses in CLI tumbler at start.
Prior to this commit, if an invalid destination address
was entered on the command line for the tumbler script,
the invalidity would cause a crash at the time a transaction
was built with this destination (during the run).
After this commit, all destination addresses entered on
startup are checked immediately and the program quits with
this information if a specific address is invalid.
2019-09-17 14:41:39 +01:00
AdamISZ
bdc0ac57b9
Fixes #389 - wallet syncing in Qt
In commit 22467f4 a bug was introduced whereby detailed
sync was used instead of fast sync, but with only one
iteration, in Joinmarket-Qt, in certain circumstances,
leading to incorrect wallet reporting/display. This commit
reverts that change (except for function name change).
There may still be edge cases for large wallets doing
recovery in Qt but this will be dealt with later.
2019-09-06 11:55:47 +01:00
AdamISZ
b19348d375 add release notes and version numbers for v0.5.5 2019-08-21 17:32:28 +01:00
AlexCato
d62a3001bc Fix sweeps with N=0 counterparties, which otherwise fails because the amount was changed from 0 too early 2019-08-21 17:24:30 +02:00
AlexCato
b656f85344 Sendpayment/Tumbler: fix division by 0 error on sweeps 2019-08-20 22:42:17 +02:00
AdamISZ
36e834ff3f
Merge #367: Warn user if estimated tx fee is higher than 5%
af11116 Estimate tx fees for sendpayment or full tumbler run and warn the user if the tx fee estimation exceeds 5% of the funds to be coinjoined/tumbled. (AlexCato)
2019-08-18 15:43:00 +01:00
AlexCato
af11116ad7 Estimate tx fees for sendpayment or full tumbler run and
warn the user if the tx fee estimation exceeds 5% of
the funds to be coinjoined/tumbled.
2019-08-18 12:13:37 +02:00
AdamISZ
63485f6c9b
Merge #356: Qt error display if fatal sync error happens in qt
3fa0804 Qt error display if fatal sync error happens in qt (Kristaps Kaupe)
2019-08-17 20:30:49 +01:00
AdamISZ
de786e0c5a
Increase maker_timeout_sec in regtest to account for throttling 2019-08-06 17:11:47 +01:00
AdamISZ
948390fb30
Merge #366: Restarting tumbler waits on gettransaction not gettxout
3602b93 Restarting tumbler waits on gettransaction not gettxout (AdamISZ)
2019-07-26 15:34:46 +01:00
AdamISZ
3602b93e1b
Restarting tumbler waits on gettransaction not gettxout
Fixes #362. Prior to this commit, if tumbler was invoked with
the --restart flag, it waited for the presence of the 0 index
output of the last seen tumbler transaction in the utxo set,
which was an unreliable indicator as that output could have,
in the meantime, been spent.
After this commit, we utilise the fact that the transaction
must be an in-wallet transaction, and use the rpc gettransaction
to check whether it has 1 or more confirmations, instead, which
should always work whether any outputs are spent or not.
2019-07-08 17:06:03 -03:00
AdamISZ
6a4a7c8ddb
Bugfix: ensure Taker sends coins out to destinations on tweaks
after restarts, instead of sending coins back to wallet.

This is a fix for #363.
Prior to this commit, if a tumbler
run was restarted on command line with --restart, and a schedule
entry failed triggering a call of tweak_tumble_schedule, the
destination address was always reset with INTERNAL to another in-
wallet address, even if it was actually an outward destination
address, because the restart of the tumbler script created an
instance of Taker without any addresses stored in the variable
tdestaddrs. After this commit, the Taker instance is instantiated
with the remaining destination addresses in the post-restart
schedule.
The user is prompted with a warning if they use --restart in
combination with command line destination addresses; they are
warned that the latter will be ignored, since the contents of the
schedule file are respected, instead.
2019-07-08 07:25:56 -03:00
Kristaps Kaupe
3fa08046a5 Qt error display if fatal sync error happens in qt 2019-06-01 04:01:28 +03:00
AdamISZ
81dbca7a69
Merge #345: Minor UI/UX tweaks
2cb5df4 Output full path/file name of lockfile in a case of lock (Kristaps Kaupe)
5ffa950 Better default column sizes in "JM Wallet" tab (Kristaps Kaupe)
2019-05-05 16:14:17 +02:00
Kristaps Kaupe
79eb790e27 Add QR code support to the GUI 2019-04-28 01:33:20 +03:00
Kristaps Kaupe
5ffa95088c Better default column sizes in "JM Wallet" tab 2019-04-21 12:11:38 +03:00
AdamISZ
0cc79745dd
Merge #342: JoinMarketQt: Use restartForScan callback in selectWallet
22467f4 Use restartForScan callback in selectWallet (Kristaps Kaupe)
2019-04-14 18:38:18 +02:00
AdamISZ
11d17bd944
Bugfix: basename of schedule file path is a tuple in new Qt
Previous to this commit, selecting a new schedule file would
not "correctly" detect that an unfinished tumble run was selected
(note that this "detection" is currently just checking the
name of the file, so it may have to be changed in future). The
reason for the failure to detect is that in the PyQt5 version,
the filenames are returned as a tuple, and so the str() conversion
did not match.
2019-04-13 20:50:15 +02:00
Kristaps Kaupe
22467f436a Use restartForScan callback in selectWallet 2019-04-13 21:09:36 +03:00
AdamISZ
dcde815bcb
bump version and release notes for 0.5.4 2019-04-01 15:15:50 +02:00
AdamISZ
1b462a4915
Merge #334: Basic coin control.
bfdf0b2 expand non-empty tree sections in Coins tab (AdamISZ)
9295673 Basic coin control. (AdamISZ)
2019-03-29 18:09:02 +01:00
AdamISZ
bfdf0b29b3
expand non-empty tree sections in Coins tab 2019-03-29 17:39:18 +01:00
AdamISZ
26e6e15acc
Minor updates to docs on installation and usage;
add segwit donation address to Qt About page.
2019-03-29 15:42:22 +01:00
AdamISZ
9295673821
Basic coin control.
Wallet persists utxo metadata; currently only
contains a field 'disabled' indexed by utxo.
User can switch this on or off (enabled) via
wallet-tool 'freeze' method.
Disabled utxos will not be used in coin
selection in any transaction.
Wallet still displays all utxo balances in
display method (and in GUI).

Add tests of disabling to test_utxomanager

Add Coins tab to Qt, with freeze/unfreeze feature.

Coins tab shows updated utxo info txid:n, amt, address and
enabled/disabled, which can be toggled from right click menu.
2019-03-28 17:25:56 +01:00
Kristaps Kaupe
46ce06d142 Display GUI error to user when no password entered on wallet load 2019-03-12 00:44:36 +02:00
AdamISZ
d845ebe070
Merge #332: JoinMarket-Qt: Don't ask for wallet password if "Cancel" pressed in "Load" dialog
9e2db3c Don't ask for wallet password if "Cancel" pressed in "Load" dialog (Kristaps Kaupe)
2019-03-01 13:06:29 +01:00
AdamISZ
7fb3dd597b
Merge #330: Don't ask for maxcjfee limits in sendpayment when manual order picking (-P) is selected
5026809 Don't ask for maxcjfee limits when manual order picking is selected (Kristaps Kaupe)
2019-03-01 12:34:25 +01:00
Kristaps Kaupe
9e2db3cc07 Don't ask for wallet password if "Cancel" pressed in "Load" dialog 2019-02-14 00:17:47 +02:00
Kristaps Kaupe
5026809a5a Don't ask for maxcjfee limits when manual order picking is selected 2019-02-11 01:02:05 +02:00
Kristaps Kaupe
b75702e540 Correct help, Bitcoin Core wallets aren't supported for some time already 2019-02-06 20:25:38 +02:00
AdamISZ
c33d43dcd3
bump version and release notes 0.5.3 2019-02-03 15:12:51 +01:00
James Hilliard
2db4e23603 Fix F632 use ==/!= to compare str, bytes, and int literals flake8 errors 2019-02-01 04:48:46 +08:00
AdamISZ
1c3a15343c
graceful sender-side timeout of PayJoin if fails 2019-01-25 18:12:39 +01:00
AdamISZ
9e7b619aff
bugfix jmprint call in taker_finished 2019-01-24 14:18:10 +01:00
AdamISZ
f0979a1ae8
Merge #289: Display message about no wallet loaded in JoinMarket-Qt
9b3b3f9 Display message about no wallet loaded in JoinMarket-Qt (Kristaps Kaupe)
2019-01-23 14:15:56 +01:00
AdamISZ
fd5e6d8d8b
Fixes #305
Previous to this commit, a user could create a direct payment or
Joinmarket coinjoin inadvertently by not using the correct arguments
to sendpayment.py (missing -T or setting -N0). After this commit,
the correct number of arguments (3) are insisted on, and -T takes
precedence over -N 0.
2019-01-21 16:17:21 +01:00