Use `CConnmanTest` instead of `CConnman` and add the nodes to it
so that their `fDisconnect` flag is set during disconnection.
Github-Pull: #21571
Rebased-From: 637bb6da36
(cherry picked from commit b765f41164)
This is a non-functional change that replaces the `CNode` on-stack
variables with `CNode` pointers.
The reason for this is that it would allow us to add those `CNode`s
to `CConnman::vNodes[]` which in turn would allow us to check that they
are disconnected properly - a `CNode` object must be in
`CConnman::vNodes[]` in order for its `fDisconnect` flag to be set.
If we store pointers to the on-stack variables in `CConnman` then it
would crash at the end, trying to `delete` them.
Github-Pull: #21571
Rebased-From: 4d6e246fa4
(cherry picked from commit dfeb6c10bb)
It's a feerate, not a fee. Also follow the style guide for member names.
Github-Pull: #21083
Rebased-From: f9cd2bfbcc
(cherry picked from commit d61fb07da7)
Instead of fetching the discard feerate for each SelectCoinsMinConf
iteration, fetch and cache it once during CreateTransaction so that it
is shared for each SelectCoinsMinConf through
coin_selection_params.m_discard_feerate.
Does not change behavior.
Github-Pull: #21083
Rebased-From: bdd0c2934b
(cherry picked from commit 5fc381e443)
Instead of setting the long term feerate for each SelectCoinsMinConf
iteration, set it once during CreateTransaction and let it be shared
with each SelectCoinsMinConf through
coin_selection_params.m_long_term_feerate.
Does not change behavior.
Github-Pull: #21083
Rebased-From: 448d04b931
(cherry picked from commit bcd716670b)
Make sure that all fee calculations use the same feerate.
coin_selection_params.effective_fee is the variable we use for all fee
calculations, so get rid of remaining nFeeRateNeeded usages and just
directly set coin_selection_params.effective_fee.
Does not change behavior.
Github-Pull: #21083
Rebased-From: e2f429e6bb
(cherry picked from commit 34c89f92f3)
During each loop of CreateTransaction, instead of constantly getting a
new feerate, use the feerate that we have already fetched for all
fee calculations. Thix fixes a race condition where the feerate required
changes during each iteration of the loop.
This commit changes behavior as the "Fee estimation failed" error will
now take priority over "Signing transaction failed".
Github-Pull: #21083
Rebased-From: 1a6a0b0dfb
(cherry picked from commit 48fc675163)
Introduces a DeferringSignatureChecker which simply takes a
BaseSignatureChecker and passes through everything.
SignatureExtractorChecker now subclasses DeferringSignatureChecker. This
allows for all BaseSignatureChecker functions to be implemented for
SignatureExtractorChecker, while allowing for future signature checkers
which opreate similarly to SignatureExtractorChecker.
Github-Pull: #21166
Rebased-From: 6965456c10
(cherry picked from commit 7de019bc61)
Upstream revision: 6d0488f75b/compiler-rt/include/fuzzer/FuzzedDataProvider.h
Changes:
* [compiler-rt] FuzzedDataProvider: add ConsumeData and method.
* [compiler-rt] Fix a typo in a comment in FuzzedDataProvider.h.
* [compiler-rt] Add ConsumeRandomLengthString() version without arguments.
* [compiler-rt] Refactor FuzzedDataProvider for better readability.
* [compiler-rt] FuzzedDataProvider: make linter happy.
* [compiler-rt] Mark FDP non-template methods inline to avoid ODR violations.
Github-Pull: #20740
Rebased-From: e3d2ba7c70
(cherry picked from commit a48c9d3161)
Tests that a fully signed transaction given to
signrawtransactionwithwallet is both unchanged and marked as complete.
This tests for a regression in 0.20 where the transaction would not be
marked as complete.
Github-Pull: #20562
Rebased-From: 773c42b265
(cherry picked from commit 36ecf5eb87)
The "macintosh" style is broken on macOS Big Sur at least for Qt 5.9.8.
Github-Pull: #bitcoin-core/gui#177
Rebased-From: 4e1154dfd1
(cherry picked from commit 6dc58e9945)
Layouts of the hidden widgets, those are children of QStackedWidget,
could prevent to adjust the size of the parent widget in the
WalletFrame widget.
Github-Pull: bitcoin-core/gui#176
Rebased-From: af58f5b12c
(cherry picked from commit bdc64c9030)
This change (1) prevents overlapping date and amount strings,
and (2) guaranties that "eye" sign at the end of the watch-only
address/label is always visible.
Github-Pull: bitcoin-core/gui#176
Rebased-From: f0d04795e2
(cherry picked from commit 7bc4498234)
The SendConfirmationDialog is used for bumping the fee, where "Send" doesn't really make sense
Github-Pull: #bitcoin-core/gui#148
Rebased-From: 8775691383
(cherry picked from commit 7bf3ed495b)
Allow creation of valid `CSubNet` objects of non-IP networks and only
match the single address they were created from (like /32 for IPv4 or
/128 for IPv6).
This fixes a deficiency in `CConnman::DisconnectNode(const CNetAddr& addr)`
and in `BanMan` which assume that creating a subnet from any address
using the `CSubNet(CNetAddr)` constructor would later match that address
only. Before this change a non-IP subnet would be invalid and would not
match any address.
Github-Pull: #20852
Rebased-From: 94d335da7f
(cherry picked from commit c33fbab25c)
This field was already being returned, but the RPCHelpMan did not indicate
this. So, this PR updates the help text to match.
Github-Pull: #20756
Rebased-From: 667d203687
(cherry picked from commit b1c0f97483)