3bafced Add links to various install guides to readme (chris-belcher)
Tree-SHA512: b86154ed5fdf74a1debf43ccd6bb5da2d58713d506aa5953599834eb5461d75714765979879a407b56b7b8ccf51cb30419674facc49ff5526014a0dba31d07b4
3e9f0bb Add explaining text to readme from old repository (chris-belcher)
Tree-SHA512: c9ec1066b7064d8d12a75aef911b2794be8128a3ec488f3ef0510ec58f307ef4425c15a1e42b91b09231fd9eefcbb2877f0ff56c0fdf7a4bdccf5183de405adc
c23808f054 Privacy improvements for direct_send() (Kristaps Kaupe)
Pull request description:
* Shuffle order of tx inputs and outputs
* Set locktime for best anonset (Core, Electrum)
Also make P2EP use the same locktime code instead of copy/paste. Note that Core / Electrum does not always set current block height as locktime, at random cases it sets some older value. This code does the same.
ACKs for top commit:
AdamISZ:
But since I don't think that's critical at all, utACK to c23808f054
Tree-SHA512: d0fb838b4fdee8be3ce8c1f38f110655697bf77c361a00b299128e7af5da8dc82aca7b7302b610b25a9037493a97496263a83d504d04cfa88070bc0032781885
66823aa Add loop in the CLI for freezing UTXOs (chris-belcher)
Tree-SHA512: 0a75dfaa680c52aa8f14eb7ee810eae27870637cf637cd570bf930ee23f64c3f6a38426e4f6962d3cd6d3beb2c8438fd7b2e76c0c157ff1bfe5153a442e68cca
Those names as confusing. They could imply that the function obtains
a path or address given a script. To help the code be more
self-documenting I add the verb from.
There seems to be no place where confirmations are displayed
in JoinMarket's CLI tools. The showutxos method seems the most
logical place to put the feature.
Prior to this commit the wallet-tool (un)freeze tool would only
allow a single freeze or unfreeze per run. So a user intending
to (un)freeze several UTXOs would have to run the script several
times which would be slow due to the need to sync the wallet
many times.
See also the discussion in: http://gnusha.org/joinmarket/2020-01-09.log
To facilitate easier management by users and to
follow generally accepted standards, this PR moves
the following all to user home directory, subdir
.joinmarket :
joinmarket.cfg file
wallets/ directory
logs/ directory
cmtdata/ directory
commitmentlist file
User can override location with --datadir option.
An info message is added on startup showing location.
updated xenial and stretch dockerfiles since they bundle old versions of libsodium
refacatoring to make BlockchainInterface and BitcoinCoreNoHistoryInterface python2 compatible
add the -acceptnonstdtxn flag when invoking bitcoind for versions >= 0.19.0
refactor the use of nonlocal to make it compatible with python2
document the get_bitcoind_version method
In refactor for #359 it was noted that the wallet
monitoring loop in Qt updated the status bar every
5 seconds, overwriting any existing status updates.
This fixes that UI bug so that the wallet synced
successfully (or unsucessfully) message is only shown
at start up or if there is a change of status (i.e.
the wallet monitoring loop stops working).
This is intended primarily to support running the
ob-watcher.py script from any environment that has no
blockchain access.
It could be used in debug and possibly recovery scenarios,
but this is explicitly unsupported (see comments in config).
The above commit introduces auto freezing for utxos below
a threshold, but erroneously auto freezes new utxos in
almost all cases because transactions are processed
multiple times (add_utxos handles this in the wallet).
The problem here is solved as with the same issue of
duplication in the logging of new transactions; we keep
track of new txids that arrive in the wallet and make
sure not to process the same txid twice.
Additionally, the setting of WalletService.used_addresses
is fixed. Test for this function is also fixed.
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.