Commit graph

255 commits

Author SHA1 Message Date
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
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
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