Commit graph

193 commits

Author SHA1 Message Date
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
AdamISZ
0c967bca7d
Support payjoin when daemon run separately (joinmarketd)
Prior to this commit, running joinmarketd as an isolated
process only supported serving the Joinmarket protocol;
attempting PayJoin would result in silent failure as the
receiver would reject the !pubkey message.
After this commit, the joinmarketd daemon serves both
protocols with the PayJoin protocol being served at port+1
2019-01-20 15:56:45 +01:00
AdamISZ
6ff17aa700
bump version and release notes 0.5.2 2019-01-19 20:23:41 +01:00
AdamISZ
28abddf062
Implement payjoin (p2ep) direct payment joins
- update mktx() to allow optional locktime setting (and sequence)
- add a mk_shuffled_tx method to the wallet module
- add a P2EPTaker and P2EPMaker class (inherit from Taker, Maker)
- add a -T option to sendpayment script for doing payjoins
- add a receive_payjoin script for receivers.
- add payjoin tests in jmclient/test/test_payjoin.py
- add a custom utxo selection method select_one_utxo to support.py
- support bech32 wallets (SegwitWallet, p2wpkh) with native=true
  in config POLICY for PayJoin and direct send (not Joinmarket CJ)
- add a PayJoin.md usage guide in docs/
- include version bytes in pubkey message for forward compat
- taker pays fees but controls size (utxo number and fee/kB)
- add P2WPKH fee estimator
- Enforce INFO level logging in payjoin
- refactors regtest config settings into one place
- bugfix: script_to_address vbyte argument is bytes not integer
2019-01-19 16:46:40 +01:00
AdamISZ
c139067be4
Include chromalog package for colorized logs
Also use this lib to print non-log messages with
standardized color formats.
Some clean up in jmbase, remove unused objects/methods.
2019-01-14 15:25:59 +01:00
Kristaps Kaupe
9b3b3f9245 Display message about no wallet loaded in JoinMarket-Qt
Instead of displaying blank tree of wallet mixdepths / addresses.

Also renamed self.history to self.walletTree, for the name to be less
confusing, as there is also TxHistoryTab which is unrelated.
2019-01-12 21:51:59 +02:00
AdamISZ
965d190854
update stale help msg on utxo type in sendtomany.py 2019-01-09 20:33:48 +01:00
AdamISZ
6ccb1023d1
version bump and release notes 0.5.1 2019-01-07 16:27:57 +01:00
Kristaps Kaupe
cdde41e162 Handle already existing wallet file on generate
Before this change with wallet-tool.py you would get "ValueError:
invalid padding byte" and "jmclient.storage.StoragePasswordError: Wrong
password." exceptions, joinmarket-qt would fail silently.
2018-12-30 02:26:43 +02:00
AdamISZ
d3db7dc3b9
Merge #266: Check for empty password and cancellation in JoinMarket-Qt wallet generation
5d66d94 Check for empty password and cancellation in JoinMarket-Qt wallet generation (Kristaps Kaupe)
2018-12-29 21:04:55 +01:00
AdamISZ
eaac4be0fc
Fix bug in wallet generate in Qt when cancelled
Prior to this commit, if a user chose cancel while selecting a
filename for a new wallet in Qt, the wallet name was set to the
default `wallet.jmdat`, which could lead to a crash or overwrite.
This fixes that by ensuring that the wallet generation code
recognizes the cancel operation.
2018-12-29 20:55:36 +01:00
undeath
596261a723 implement wallet-tools display[all] extended usage status 2018-12-29 16:54:32 +01:00
AdamISZ
47b84bc70b
Merge #256: Remove btc.py
54618e6 Remove btc.py (AdamISZ)
2018-12-24 12:31:47 +01:00
Kristaps Kaupe
5d66d9410f Check for empty password and cancellation in JoinMarket-Qt wallet generation 2018-12-20 21:08:43 +02:00
Kristaps Kaupe
51a257f288 Don't show password when loading wallet in JoinmarketQt
Wrong parameter name, guess a bug introduced with 8e5826d4ea.
2018-12-19 23:23:04 +02:00
AdamISZ
54618e61da
Remove btc.py
Previous to this commit, the jmbitcoin package was accessed via
a file in jmclient `btc.py` which was originally added as an
interface to allow the client to use a non-jmbitcoin package to
provide the implementation; while this idea is useful, the way
it was implemented was not, moreover it is not currently used
and contained duplicated code that was unmanaged. Also, the
original usage of this was only by the electrum plugin, which
has currently been abandoned. This simplifies the code and
avoids spurious error messages. Note that most of the changes
are a result of pulling the logging function directly from the
jmbase package instead of indirectly via this interface (which
was unnecessary and not connected with jmbitcoin).
2018-12-19 14:37:26 +01:00
AdamISZ
5d6825bfb1
Fix bug in convert_old_wallet after Py3 upgrade
In the Python3 compatibility upgrade, jmbase.support.getpassword
was changed and now returns bytes, therefore the password should
not be utf-8 encoded in the function decrypt_wallet_data. Without
this change, the conversion script errors; this fixes that error.
2018-12-16 23:08:51 +01:00
AdamISZ
a475b3b854
release notes and docs for 0.5.0 2018-12-15 22:17:33 +01:00
AdamISZ
d7a2b6b5a8
regtest: fix wallet load in Qt 2018-12-15 14:29:30 +01:00
AdamISZ
8e5826d4ea
Convert JoinmarketQt to PySide2 2018-12-11 17:13:40 +01:00
undeath
42060db090 remove slowaes 2018-12-05 21:12:01 +01:00
James Hilliard
6dc3504f8a Convert jmclient to py3 style 2018-12-06 02:40:36 +08:00
James Hilliard
3537fb48fb Convert jmbitcoin to py3 style 2018-11-28 09:00:10 +08:00
AdamISZ
f18c67c91a
release notes for 0.4.2 2018-11-22 13:48:56 +01:00
AdamISZ
382ba1e648
release notes for 0.4.1 2018-11-11 20:57:03 +01:00
AdamISZ
c833aa4df1
Merge #207: release notes for 0.4.0
c9ce648 add wallet changes info to release notes (undeath)
2461c9a release notes for 0.4.0 (AdamISZ)
2018-11-04 16:54:05 +01:00
undeath
a86e154b15
revert bad change in convert_old_wallet.py 2018-11-03 21:26:21 +01:00
AdamISZ
2461c9a5f3
release notes for 0.4.0 2018-11-03 18:25:52 +01:00
undeath
a2c74ee563
add random-under-max order chooser 2018-11-01 23:44:54 +01:00
AdamISZ
697d8d7691
bugfix: sendpayment invalid reference to userpcwallet 2018-10-28 17:28:59 +01:00
undeath
392188209c change wallet mixdepth behaviour 2018-10-27 19:02:59 +02:00
undeath
4f23647954 revert 98bcc86446 2018-10-27 18:59:02 +02:00
undeath
bdbf62b3c0 fix flake8 warning 2018-10-27 14:01:14 +02:00
Kristaps Kaupe
fdd0d11919 Remove --rpcwallet CLI option
It is not working (not implemented) since 995c123eec
2018-10-21 23:06:59 +03:00
AdamISZ
a65b82271e
fix help msg error for changemixdepth 2018-10-16 21:24:51 +02:00
AdamISZ
db62223ecd
Merge #186: Switch over to using labels instead of accounts
b52bc06 Switch over to using labels instead of accounts (chris-belcher)
2018-10-11 18:11:32 +02:00
chris-belcher
b52bc06acf
Switch over to using labels instead of accounts
Bitcoin Core 0.17 deprecates the accounts feature and replaces it with
labels. The RPC functions using accounts still work for use with older
version of Core.
2018-10-09 16:49:51 +01:00
AdamISZ
aeb4541231
Merge #183: add flake8 style checks to travis
03ee77b fix issues highlighted by flake8 (undeath)
9d72573 add flake8 config and enable in travis (undeath)
2018-10-08 17:01:04 +02:00
undeath
03ee77b96b
fix issues highlighted by flake8 2018-10-08 00:07:28 +02:00
undeath
d3a6dd0722 fix old wallet conversion with mnemonic extension 2018-09-28 19:44:39 +02:00
AdamISZ
6a26e48def
Disallow less than 1 mixdepth in changemixdepth.
Maxmixdepth error msg in tumbler: fix off-by-one

bugfix md num
2018-09-28 15:17:40 +02:00
AdamISZ
98bcc86446
Additional method changemixdepth in wallet-tool
This commit adds a method 'changemixdepth' to the list
of methods that can be invoked with the wallet-tool.py script.
It is a noscan method, so doesn't require sync, and uses the
value of the -m option as the new *number* of mixdepths, and
updates the wallet's storage for future runs.
Users are advised not to reduce this number, but increasing it
should always be fine.
Running tumbler with insufficient mixdepths quits with warning.
2018-09-22 16:39:12 +02:00
undeath
1451c9e3ae remove unused imports 2018-08-19 18:21:28 +02:00
AdamISZ
55c51a9a25
Remove jmtainter script, not used or maintained currently 2018-08-19 13:15:07 +02:00
AdamISZ
455d092e3a
minor bugfixes to Qt for new wallet code 2018-08-19 13:10:47 +02:00