Fixes#1306.
Prior to this commit, it was possible (unlikely) for a peer to exist in
the active_directories nick in OnionMessageChannel, but to have False
entries (i.e. disconnected) for every directory, meaning that the random
choice from those directories raised an Exception which was not caught,
causing a crash.
This is now fixed by checking whether the list of directories to be
chosen from randomly, is empty, and if so raising the correct Exception
type, namely OnionDirectoryPeerNotFound.
Fixes#1277.
Adds a separate document tor.md detailing installation and configuration
requirements for both Makers and Takers, in particular details how to
configure for the serving of an ephemeral onion service.
Fixes#1215.
Prior to this commit it was possible to send a non-coinjoin transaction
while the maker service was running, over the RPC-API call direct-send.
However this was not intentional, as it is not usually safe to perform
UTXO database write actions when the effective 'lock' on write actions
is already held by a long running service/action such as yield generator
or tumbler. This commit prevents that call being successful if the
current state of the JMWalletDaemon is not CJ_NOT_RUNNING.
This commit also disables freeze actions in the same situation, and
changes the HTTP error code for these cases to 400.
Add a new helper module to calculate fidelity bonds values and stats, and a script to use it.
The goal is to give as much information as possible to the user before
committing to a fidelity bond.
baa1d48 Add link to JoininBox to README (chris-belcher)
Tree-SHA512: ff1886e9dd03c58e7668753fbc305f9ac0f645502d57e6056644349a919cb7d5913be142ef7822bba24e84088aecbd1a075c85a57d143044e5eb96ce136b39c7
when checking for timed-out counterparties (or refreshing the
orderbook), stale entries are preserved because those peers
disconnected prematurely. This fix prevents that issue by
first removing all entries before requesting for the orderbook.
Fixes#967. In this test, if the randomized fee calculated from the
tx_fees field in the config happens to be at the bottom of the range,
it's possible that the calculated feerate is very close to 1.1 sats/vB,
but this can still vary slightly due to signature sizes, resulting in a
very rare case where this test could erroneously fail.
This is fixed by bumping the lowest minfeerate by 2%.
Fixes#1294.
Before this commit, calls to query_utxo_set with default arguments
would ignore the mempool and thus return utxos which were spent in
unconfirmed transactions. Thus, takers would continue negotiation of
coinjoins with makers who sent them already-spent utxos, leading to
failure at broadcast time. This was not intended behaviour; we want
takers to reject utxos that are double spent in the mempool.
This commit changes that default argument to True so that utxo set
changes in the mempool are accounted for. It also switches the name of
the includeunconf argument, which was misleading, to include_mempool,
with appropriately updated docstring.
Finally, in this commit we also ensure that callers of this function
check, where necessary, the returned confirmations field to disallow
unconfirmed utxos where that is necessary.
4d4cae5f0c docs: Creating Core wallet is required for v0.21+ (Kristaps Kaupe)
Pull request description:
It isn't anymore "recommended" for recent Bitcoin Core versions, as since v0.21 default wallet is not created automatically.
Top commit has no ACKs.
Tree-SHA512: 617c4af59449926be8873a0af54f4d4dca732862391915578c249f4022369b9dc6c5f3c0201bde1b6e70a8fe301946054d47f78456e092d17a32398ac7cf0013
PR #986 introduced two distinct balances at different levels of
the wallet tree; it serialized these balances for CLI and Qt display
but changed the RPC-API json output of the /display endpoint in a
suboptimal way. This commit fixes the json structure.
After this commit, the four levels (wallet, account, branch, entry) now
all still have balances reported under the same key as before #986, that
is, total_balance, account_balance, balance and amount, but the extra
information introduced by that PR, namely the 'available_balance' is
added as an extra key in the json dict.
Tests are added to check this structure.
e42f8290b2 docs: fix link in SOURCING-COMMITMENTS.md (Thebora Kompanioni)
Pull request description:
Redirect to PoDLE blog post is not properly working, hence the direct link to https://reyify.com is used.
ACKs for top commit:
kristapsk:
ACK e42f8290b2
Tree-SHA512: 13a62b3220202fe18c75ea4a502860eb81fe7b2b101dc97c74f7071e519a72c71b3cac5baad0adc7ed32a17fa8a1f5f33fbff8f997aee6836ee53cfa4b6c25d2
Before this commit, if Joinmarket-Qt or any other long running script
was started when a new utxo had been created in the wallet, but was not
yet in a block, the transition from unconfirmed to confirmed state would
not be registered, because when confirmation happened and the event was
seen in the transaction monitor, that txid was not in the active_txs
dict. This is now fixed.
For frozen balances, display a label "FROZEN" in the status notes.
For unconfirmed balances, display a label "PENDING" in the status notes.
Both FROZEN and LOCKED balances are considered unavailable balances, while PENDING balance is considered available balance.
Because it is possible to broadcast a transaction that spends unconfirmed balance, while a user has to manually unfreeze
the balance or wait until the timelock has expired before they can use FROZEN or LOCKED balances.
e4f249ad4b Show QR code for xpub (Wukong)
Pull request description:
Show QR code for xpub so that mobile client can easily import the xpub by scanning the QR code
ACKs for top commit:
kristapsk:
ACK e4f249ad4b
Tree-SHA512: d2b60155f03cc2787b9a71d232584a0b97bd54c4682905cffe2babf8dc726426af9544edce5bbabb5fb7833099e2784ec0487a4a860fc8432527c6f3edc48185