Commit Graph

14744 Commits

Author SHA1 Message Date
Kittywhiskers Van Gogh
f2af35c92e merge bitcoin#16502: Drop unused OldKey 2021-12-12 22:36:50 +05:30
Kittywhiskers Van Gogh
1f61b27399 merge bitcoin#16475: Enumerate walletdb keys 2021-12-12 22:36:50 +05:30
Kittywhiskers Van Gogh
1e11a7ad03 merge bitcoin#16415: Get rid of PendingWalletTx class
Co-authored-by: PastaPastaPasta <PastaPastaPasta@users.noreply.github.com>
2021-12-12 22:36:50 +05:30
Kittywhiskers Van Gogh
e51c4c41c0 merge bitcoin#16299: Move generated data to a dedicated translation unit 2021-12-12 22:36:50 +05:30
Kittywhiskers Van Gogh
4bc0ae1ee2 merge bitcoin#16033: Hold cs_main when reading chainActive via getTipLocator(). Remove assumeLocked(). 2021-12-12 22:36:50 +05:30
Kittywhiskers Van Gogh
0187d2e597 merge bitcoin#15713: Replace chain relayTransactions/submitMemoryPool by higher method 2021-12-12 22:36:50 +05:30
Kittywhiskers Van Gogh
77d4c51507 merge bitcoin#15778: Move maxtxfee from node to wallet 2021-12-12 21:27:53 +05:30
Kittywhiskers Van Gogh
ed48a889bf merge bitcoin#15632: Remove ResendWalletTransactions from the Validation Interface 2021-12-12 21:27:51 +05:30
Kittywhiskers Van Gogh
3284d82296 merge bitcoin#15620: Uncouple non-wallet rpcs from maxTxFee global 2021-12-12 21:07:49 +05:30
Kittywhiskers Van Gogh
c04f74b1d4 merge bitcoin#15680: Remove resendwallettransactions RPC method 2021-12-12 21:07:49 +05:30
Kittywhiskers Van Gogh
ee4f2fc8b4 merge bitcoin#15728: Refactor relay transactions 2021-12-12 21:07:49 +05:30
Kittywhiskers Van Gogh
e1a40e554c merge bitcoin#15588: Log the actual wallet file version and no longer publicly expose the "version" record 2021-12-12 19:46:11 +05:30
Kittywhiskers Van Gogh
2fecd1495f merge bitcoin#15401: Actually throw help when passed invalid number of params 2021-12-12 19:46:11 +05:30
Kittywhiskers Van Gogh
c6c307b3f7 merge bitcoin#13541: sendrawtransaction maxfeerate 2021-12-12 11:57:44 +05:30
fanquake
ffe950bbc7
partial merge #16327: scripts and tools: Update ShellCheck linter
1ac454a3844b9b8389de0f660fa9455c0efa7140 Enable ShellCheck rules (Hennadii Stepanov)

Pull request description:

  Enable some simple ShellCheck rules.

  Note for reviewers: `bash` and `shellcheck` on macOS are different from ones on Ubuntu.
  For local tests the latest `shellcheck` version 0.6.0 should be used (see #15166).

ACKs for top commit:
  practicalswift:
    utACK 1ac454a3844b9b8389de0f660fa9455c0efa7140
  dongcarl:
    utACK 1ac454a
  fanquake:
    ACK 1ac454a3844b9b8389de0f660fa9455c0efa7140

Tree-SHA512: 8d0a3a5c09fe1a0c22120178f5e6b80f81f746f8c3356b7701ff301c117acb2edea8fe08f08fb54ed73f94b1617515fb239fa28e7ab4121f74872e6494b6f20e
2021-12-03 18:13:01 +03:00
PastaPastaPasta
40c259bdf3
fix: resolve numerous compilation warnings under -Wall (#4599)
* fix: compilation warnings

./validation.h:266:13: warning: ‘bool AcceptToMemoryPoolWithTime(const CChainParams&, CTxMemPool&, CValidationState&, const CTransactionRef&, bool*, int64_t, bool, CAmount, bool)’ declared ‘static’ but never defined [-Wunused-function]
 static bool AcceptToMemoryPoolWithTime(const CChainParams& chainparams, CTxMemPool& pool, CValidationState &state, const CTransactionRef &tx,
             ^~~~~~~~~~~~~~~~~~~~~~~~~~

* fix: compilation warnings

./coinjoin/client.h: In constructor ‘CCoinJoinClientManager::CCoinJoinClientManager(CWallet&)’:
./coinjoin/client.h:199:10: warning: ‘CCoinJoinClientManager::fCreateAutoBackups’ will be initialized after [-Wreorder]
     bool fCreateAutoBackups; // builtin support for automatic backups
          ^~~~~~~~~~~~~~~~~~
./coinjoin/client.h:187:14: warning:   ‘CWallet& CCoinJoinClientManager::mixingWallet’ [-Wreorder]
     CWallet& mixingWallet;
              ^~~~~~~~~~~~
./coinjoin/client.h:205:14: warning:   when initialized here [-Wreorder]
     explicit CCoinJoinClientManager(CWallet& wallet) :
              ^~~~~~~~~~~~~~~~~~~~~~

* fix: compilation warnings

interfaces/wallet.cpp: In constructor ‘interfaces::{anonymous}::WalletImpl::WalletImpl(const std::shared_ptr<CWallet>&)’:
interfaces/wallet.cpp:594:30: warning: ‘interfaces::{anonymous}::WalletImpl::m_wallet’ will be initialized after [-Wreorder]
     std::shared_ptr<CWallet> m_wallet;
                              ^~~~~~~~
interfaces/wallet.cpp:191:18: warning:   ‘interfaces::{anonymous}::CoinJoinImpl interfaces::{anonymous}::WalletImpl::m_coinjoin’ [-Wreorder]
     CoinJoinImpl m_coinjoin;
                  ^~~~~~~~~~
interfaces/wallet.cpp:193:14: warning:   when initialized here [-Wreorder]
     explicit WalletImpl(const std::shared_ptr<CWallet>& wallet) : m_wallet(wallet), m_coinjoin(wallet) {}
              ^~~~~~~~~~

* fix: compilation warnings

validation.cpp:165:13: warning: ‘void CheckBlockIndex(const Consensus::Params&)’ declared ‘static’ but never defined [-Wunused-function]
 static void CheckBlockIndex(const Consensus::Params& consensusParams);
             ^~~~~~~~~~~~~~~

* fix: compilation warnings

bls/bls_worker.cpp: In constructor ‘ContributionVerifier::ContributionVerifier(CBLSId, const std::vector<std::shared_ptr<std::vector<CBLSPublicKey> > >&, const BLSSecretKeyVector&, size_t, bool, bool, ctpl::thread_pool&, std::function<void(const std::vector<bool>&)>)’:
bls/bls_worker.cpp:425:51: warning: ‘ContributionVerifier::doneCallback’ will be initialized after [-Wreorder]
     std::function<void(const std::vector<bool>&)> doneCallback;
                                                   ^~~~~~~~~~~~
bls/bls_worker.cpp:420:12: warning:   ‘size_t ContributionVerifier::batchCount’ [-Wreorder]
     size_t batchCount;
            ^~~~~~~~~~
bls/bls_worker.cpp:427:5: warning:   when initialized here [-Wreorder]
     ContributionVerifier(CBLSId _forId, const std::vector<BLSVerificationVectorPtr>& _vvecs,
     ^~~~~~~~~~~~~~~~~~~~

* fix: compilation warnings

bls/bls_worker.cpp:342:10: warning: ‘VectorAggregator<CBLSPublicKey>::parallel’ will be initialized after [-Wreorder]
     bool parallel;
          ^~~~~~~~
bls/bls_worker.cpp:340:12: warning:   ‘size_t VectorAggregator<CBLSPublicKey>::start’ [-Wreorder]
     size_t start;
            ^~~~~
bls/bls_worker.cpp:350:5: warning:   when initialized here [-Wreorder]
     VectorAggregator(const VectorVectorType& _vecs,
     ^~~~~~~~~~~~~~~~
bls/bls_worker.cpp:343:24: warning: ‘VectorAggregator<CBLSPublicKey>::workerPool’ will be initialized after [-Wreorder]
     ctpl::thread_pool& workerPool;
                        ^~~~~~~~~~
bls/bls_worker.cpp:337:18: warning:   ‘VectorAggregator<CBLSPublicKey>::DoneCallback VectorAggregator<CBLSPublicKey>::doneCallback’ [-Wreorder]
     DoneCallback doneCallback;
                  ^~~~~~~~~~~~
bls/bls_worker.cpp:350:5: warning:   when initialized here [-Wreorder]
     VectorAggregator(const VectorVectorType& _vecs,
     ^~~~~~~~~~~~~~~~

* fix: compilation warnings

bls/bls_worker.cpp:494:235:   required from here
bls/bls_worker.cpp:136:24: warning: ‘Aggregator<CBLSSecretKey>::workerPool’ will be initialized after [-Wreorder]
     ctpl::thread_pool& workerPool;
                        ^~~~~~~~~~
bls/bls_worker.cpp:135:10: warning:   ‘bool Aggregator<CBLSSecretKey>::parallel’ [-Wreorder]
     bool parallel;
          ^~~~~~~~
bls/bls_worker.cpp:152:5: warning:   when initialized here [-Wreorder]
     Aggregator(const std::vector<TP>& _inputVec,
     ^~~~~~~~~~

* fix: compilation warnings

bench/string_cast.cpp: In lambda function:
bench/string_cast.cpp:22:13: warning: statement has no effect [-Wunused-value]
         atoi("1");
         ~~~~^~~~~

* fix: compilation warnings

./llmq/dkgsessionhandler.h: In constructor ‘llmq::CDKGPendingMessages::CDKGPendingMessages(size_t, int)’:
./llmq/dkgsessionhandler.h:48:12: warning: ‘llmq::CDKGPendingMessages::maxMessagesPerNode’ will be initialized after [-Wreorder]
     size_t maxMessagesPerNode GUARDED_BY(cs);
            ^~~~~~~~~~~~~~~~~~
./llmq/dkgsessionhandler.h:47:15: warning:   ‘const int llmq::CDKGPendingMessages::invType’ [-Wreorder]
     const int invType;
               ^~~~~~~
llmq/dkgsessionhandler.cpp:23:1: warning:   when initialized here [-Wreorder]
 CDKGPendingMessages::CDKGPendingMessages(size_t _maxMessagesPerNode, int _invType) :
 ^~~~~~~~~~~~~~~~~~~

* fix: compilation warnings

Not sure this one is correct, but I believe so. Seems like the `!= 0` is completely not needed

rpc/masternode.cpp: In function ‘UniValue masternode_payments(const JSONRPCRequest&)’:
rpc/masternode.cpp:442:31: warning: suggest parentheses around comparison in operand of ‘!=’ [-Wparentheses]
     while (vecPayments.size() < std::abs(nCount) != 0 && pindex != nullptr) {
            ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~

* fix: compilation warnings

test/cachemultimap_tests.cpp:14:13: warning: ‘void cachemultimap_tests::DumpMap(const CacheMultiMap<int, int>&)’ defined but not used [-Wunused-function]
 static void DumpMap(const CacheMultiMap<int,int>& cmmap)
             ^~~~~~~

* fix: compilation warnings

In file included from qt/appearancewidget.cpp:11:
./qt/appearancewidget.h: In constructor ‘AppearanceWidget::AppearanceWidget(QWidget*)’:
./qt/appearancewidget.h:52:25: warning: ‘AppearanceWidget::prevFontFamily’ will be initialized after [-Wreorder]
     GUIUtil::FontFamily prevFontFamily;
                         ^~~~~~~~~~~~~~
./qt/appearancewidget.h:51:9: warning:   ‘int AppearanceWidget::prevScale’ [-Wreorder]
     int prevScale;
         ^~~~~~~~~
qt/appearancewidget.cpp:21:1: warning:   when initialized here [-Wreorder]
 AppearanceWidget::AppearanceWidget(QWidget* parent) :
 ^~~~~~~~~~~~~~~~

* fix: compilation warnings

In file included from qt/bitcoingui.cpp:6:
./qt/bitcoingui.h: In constructor ‘BitcoinGUI::BitcoinGUI(interfaces::Node&, const NetworkStyle*, QWidget*)’:
./qt/bitcoingui.h:212:31: warning: ‘BitcoinGUI::m_network_style’ will be initialized after [-Wreorder]
     const NetworkStyle* const m_network_style;
                               ^~~~~~~~~~~~~~~
./qt/bitcoingui.h:172:34: warning:   ‘const std::unique_ptr<QMenu> BitcoinGUI::trayIconMenu’ [-Wreorder]
     const std::unique_ptr<QMenu> trayIconMenu;
                                  ^~~~~~~~~~~~
qt/bitcoingui.cpp:81:1: warning:   when initialized here [-Wreorder]
 BitcoinGUI::BitcoinGUI(interfaces::Node& node, const NetworkStyle* networkStyle, QWidget* parent) :
 ^~~~~~~~~~

* fix: compilation warnings

In file included from qt/masternodelist.cpp:1:
./qt/masternodelist.h: In constructor ‘MasternodeList::MasternodeList(QWidget*)’:
./qt/masternodelist.h:66:18: warning: ‘MasternodeList::walletModel’ will be initialized after [-Wreorder]
     WalletModel* walletModel;
                  ^~~~~~~~~~~
./qt/masternodelist.h:61:10: warning:   ‘bool MasternodeList::fFilterUpdatedDIP3’ [-Wreorder]
     bool fFilterUpdatedDIP3;
          ^~~~~~~~~~~~~~~~~~
qt/masternodelist.cpp:45:1: warning:   when initialized here [-Wreorder]
 MasternodeList::MasternodeList(QWidget* parent) :
 ^~~~~~~~~~~~~~
In file included from qt/masternodelist.cpp:1:
./qt/masternodelist.h:61:10: warning: ‘MasternodeList::fFilterUpdatedDIP3’ will be initialized after [-Wreorder]
     bool fFilterUpdatedDIP3;
          ^~~~~~~~~~~~~~~~~~
./qt/masternodelist.h:59:13: warning:   ‘int64_t MasternodeList::nTimeFilterUpdatedDIP3’ [-Wreorder]
     int64_t nTimeFilterUpdatedDIP3;
             ^~~~~~~~~~~~~~~~~~~~~~
qt/masternodelist.cpp:45:1: warning:   when initialized here [-Wreorder]
 MasternodeList::MasternodeList(QWidget* parent) :
 ^~~~~~~~~~~~~~

* fix: compilation warnings

In file included from qt/paymentserver.cpp:10:
./qt/paymentserver.h: In constructor ‘PaymentServer::PaymentServer(QObject*, bool)’:
./qt/paymentserver.h:156:28: warning: ‘PaymentServer::netManager’ will be initialized after [-Wreorder]
     QNetworkAccessManager* netManager;  // Used to fetch payment requests
                            ^~~~~~~~~~
./qt/paymentserver.h:147:19: warning:   ‘OptionsModel* PaymentServer::optionsModel’ [-Wreorder]
     OptionsModel *optionsModel;
                   ^~~~~~~~~~~~
qt/paymentserver.cpp:197:1: warning:   when initialized here [-Wreorder]
 PaymentServer::PaymentServer(QObject* parent, bool startLocalServer) :
 ^~~~~~~~~~~~~
2021-12-01 22:59:34 +03:00
PastaPastaPasta
49bd9bdc1b
fix: decrease devnet gov_fee activation params (#4596)
No reason for devnet activation to take this long
2021-12-01 21:12:39 +03:00
UdjinM6
3b8b3e254a
instantsend: Do not consider islocks with unknown txes as complete (#4147)
* instantsend: Avoid writing IS locks for unknown txes

* instantsend: Allow a competing tx into mempool if there is an islock waiting for it

* use try_emplace

* Hold cs_main while calling ResetBlockFailureFlags
2021-11-30 14:14:08 +03:00
UdjinM6
9718bb394b
build/ci: Fix --enable-glibc-back-compat and its usage (#4592)
* build: Fix `--enable-glibc-back-compat`

Compiling on Ubuntu 20.04 results in binaries that can't be run on older systems we still support (e.g. Ubuntu 16.04) and `contrib/devtools/symbol-check.py` complains about it.

Available versions for `log` for example:
$ objdump -T /lib/x86_64-linux-gnu/libm.so.6 | egrep -w 'log'
00000000000431b0 g    DF .text	0000000000000039  GLIBC_2.29  log
0000000000012360 g    DF .text	0000000000000066 (GLIBC_2.2.5) log

(i.e. the default one is 2.29)

This commit fixes the issue by picking the version we support instead of the default one.

Before:
$ objdump -T dashd | egrep -w 'log'
0000000000000000      DF *UND*	0000000000000000  GLIBC_2.29  log

After:
$ objdump -T dashd | egrep -w 'log'
0000000000000000      DF *UND*	0000000000000000  GLIBC_2.2.5 log

* ci: Add `make check-symbols` to the `build` step

* ci: Do not specify `--enable-glibc-back-compat` for non-release builds

* ci: Set correct LDFLAGS for the release build

* doc: Update docs to mention the need for `LDFLAGS=-static-libstdc++` when compiling for same host but different distro

* ci: Add `--with-sanitizers=undefined` back to `linux64` build
2021-11-30 14:13:18 +03:00
UdjinM6
d6b9958310
Merge pull request #4586 from Munkybooty/backports-0.19-pr8
Backports 0.19 pr8
2021-11-30 14:12:24 +03:00
PastaPastaPasta
d99ea37684
Merge pull request #4555 from vijaydasmp/bp_19_4
Merge 15919, 15897, 15763, 16912, 17001, 16656, 16804
2021-11-30 00:58:00 -05:00
Vijay Manikpuri
b0b8b2d2a9
Merge #16278: tests: Remove unused includes (#4528)
9a841696c1e7147e259e5a387566e461abc144ec tests: Reduce compilation time and unneccessary recompiles by removing unused includes in tests (practicalswift)

Pull request description:

  Reduce compilation time and unneccessary recompiles by removing unused includes in tests.

  A subset of #16273 ("refactor: Reduce total compilation time by 2% and avoid unnecessary recompiles by removing unused includes") as requested by MarcoFalke in https://github.com/bitcoin/bitcoin/pull/16273#issuecomment-505022643.

ACKs for top commit:
  Sjors:
    ACK 9a84169 on macOS 10.14.5 (I rebased on #16289)

Tree-SHA512: bcb6ecffef689a9839bee1a5cb93abe83db1f30819a54226c5630fee456b5a5d187507d06861454adfda939c3556a975113f97662e415cb47fa0327ea4fd09fb

Co-authored-by: MarcoFalke <falke.marco@gmail.com>
2021-11-30 00:53:40 -05:00
PastaPastaPasta
f00a27ec97
Merge pull request #4566 from Munkybooty/backports-0.19-pr6
Backports 0.19 pr6
2021-11-30 00:44:25 -05:00
fanquake
7b8ddda8ea Merge #16578: Do not pass in command line arguments to QApplication
a2714a5c69f0b0506689af04c3e785f71ee0915d Give QApplication dummy arguments (Andrew Chow)

Pull request description:

  QApplication takes the command line arguments and parses them itself for some [built in command line arguments](https://doc.qt.io/qt-5/qapplication.html#QApplication) that it has. We don't want any of those built in arguments, so instead give it dummy arguments.

  To test, you can use the `-reverse` option. Without this patch, everything will appear right-to-left; things that were on the left side will be on the right and everything is right aligned.

  After this patch, `-reverse` will now give a startup error since we do not support this argument.

ACKs for top commit:
  laanwj:
    ACK a2714a5c69f0b0506689af04c3e785f71ee0915d
  hebasto:
    ACK a2714a5c69f0b0506689af04c3e785f71ee0915d
  fanquake:
    ACK a2714a5c69f0b0506689af04c3e785f71ee0915d - Have tested that arguments like `-reverse` are no longer being passed through and result in an error.

Tree-SHA512: 983bd948ca6999f895b6662b58c37e33af7ed61fdd600c6b4623febb87ec06a92c66e3b3300783530110cc711902793ef82d751d7f563696c4c3a8416b2b1f51
2021-11-30 00:03:21 -05:00
PastaPastaPasta
b9e1d3cb11
fix: add missing optional include (#4595) 2021-11-30 08:03:17 +03:00
PastaPastaPasta
b8c560479e
refactor: misc refactoring prefer std algorithm, range for loops; fix broken loop (#4593)
* fix: replace seemingly buggy loop with std::adjacent_find

* Remove redundant variable declaration

* use std::fill instead of a loop

* remove a few raw for loops
2021-11-30 08:03:08 +03:00
Wladimir J. van der Laan
0c12767ee7 Merge #14934: Descriptor expansion cache clarifications
2e68ffaf205866e4cea71f64e79bbfb89e17280a [doc] descriptor: explain GetPubKey() usage with cached public key (Sjors Provoost)
2290269759ad10cc2e35958c7b0a63f3a7608621 scripted-diff: rename DescriptorImpl m_script_arg to m_subdescriptor_arg (Sjors Provoost)

Pull request description:

  I found the name `m_script_arg` to be confusing while reviewing https://github.com/bitcoin/bitcoin/pull/14646#discussion_r240677238. @sipa let me know if `m_subdescriptor_arg` is completely wrong.

  I also added an explanation of why we call `GetPubKey` when we don't ask it for a public key.

ACKs for top commit:
  laanwj:
    ACK 2e68ffaf205866e4cea71f64e79bbfb89e17280a

Tree-SHA512: 06698e9a91cdda93c043a82732793f0ad3cd91daa2513565953e9fa048d5573322fb534e9d0ea9ab736e6366be5921e2b8699c4f4b3693edab48039aaae06f78
2021-11-30 00:01:38 -05:00
Jonas Schnelli
eedd48926c Merge #16349: qt: Remove redundant WalletController::addWallet slot
6285a318d77dbfdf50f893963ebfb2973746f757 Remove redundant WalletController::addWallet slot (Hennadii Stepanov)

Pull request description:

  ~~Fix #15453.~~ It is fixed by https://github.com/bitcoin/bitcoin/pull/16348#issuecomment-509308347

  The _only_ reason of these lines on master (8c69fae94410f54bad13be0f34d54370fddbf4b3)
  2679bb8919/src/qt/walletcontroller.cpp (L121-L128)
  is to `Q_EMIT walletAdded(wallet_model);` in a thread-safe manner;

  This PR makes this in a line of code:
  1b83875006/src/qt/walletcontroller.cpp (L121)

  EDITED:
  To establish the ownership of a new `WalletModel` object is not necessary on the master (https://github.com/bitcoin/bitcoin/pull/16349#discussion_r301679192 by **promag**).
  But:
  > it's good habit to set ownership

  And I agree. It is a safe practice.

ACKs for top commit:
  promag:
    ACK 6285a318d77dbfdf50f893963ebfb2973746f757.
  jonasschnelli:
    utACK 6285a318d77dbfdf50f893963ebfb2973746f757
  ryanofsky:
    utACK 6285a318d77dbfdf50f893963ebfb2973746f757. Only change since last review is rebasing and restoring a deleted comment. I do think the comments I suggested last review would be better than this one, but this is at least better than before.

Tree-SHA512: 90370cb1fe853b84dd16c3781ba4f97f3f4deca56bba0203e457f37b3220fd13228cf8495fd882ff18b7c782c27544cc2e7a88aaec5b69b9ef6d8626bdaaf332
2021-11-30 00:01:38 -05:00
MarcoFalke
517021c93d Merge #15911: Use wallet RBF default for walletcreatefundedpsbt
d6b3640ac732f6f66a8cb6761084d1beecc8a876 [test] walletcreatefundedpsbt: check RBF is disabled when -walletrbf=0 (Sjors Provoost)
9ed062b5685eb6227d694572cb0f7bfbcc151b36 [doc] rpc: remove "fallback to" from RBF default help (Sjors Provoost)
4fcb698bc2bb74171cd3a14b94f9882d8e19e9fb [rpc] walletcreatefundedpsbt: use wallet default RBF (Sjors Provoost)

Pull request description:

  The `walletcreatefundedpsbt` RPC call currently ignores `-walletrbf` and defaults to not use RBF. This PR fixes that.

  This PR also replaces UniValue in `ConstructTransaction` with a `bool` in preparation of moving this helper method out of the RPC codebase entirely. This may be a bit overkill, but does slightly simplify it.

  Fixes #15878

ACKs for top commit:
  achow101:
    Code Review ACK d6b3640ac732f6f66a8cb6761084d1beecc8a876
  l2a5b1:
    re-ACK d6b3640
  MarcoFalke:
    ACK d6b3640ac732f6f66a8cb6761084d1beecc8a876

Tree-SHA512: 55b9bccd1ef36b54f6b34793017dc0721103099ad3761b3b04862291ee13d6915915d4dbb1a8567924fa56e5e95dfe10eec070e06701610e70c87f8ea92b2a00
2021-11-30 00:01:38 -05:00
Wladimir J. van der Laan
b08bcee9fd Merge #16514: gui: Remove unused RPCConsole::tabFocus
b078067b9c2aa1d259395198005fab470ea4e39d gui: Remove unused RPCConsole::tabFocus (João Barbosa)

Pull request description:

  Added in #14573 but not used, so begone.

ACKs for top commit:
  practicalswift:
    utACK b078067b9c2aa1d259395198005fab470ea4e39d
  hebasto:
    ACK b078067b9c2aa1d259395198005fab470ea4e39d
  laanwj:
    ACK b078067b9c2aa1d259395198005fab470ea4e39d, there's nothing really to test here

Tree-SHA512: 237276dea4d174b5fca34855447146f79c3faaae7179f4245c70e2070b49282d95f886b1be6d2a33713c81a254f4483a4e4bf850053a8dcb18a3a897bd3da08e
2021-11-30 00:01:17 -05:00
MarcoFalke
48825dbfd3 Merge #15531: Suggested interfaces::Chain cleanups from #15288
4d4e4c6448 Suggested interfaces::Chain cleanups from #15288 (Russell Yanofsky)

Pull request description:

  Mostly documentation improvements requested in the last review of #15288 before it was merged (https://github.com/bitcoin/bitcoin/pull/15288#pullrequestreview-210241864)

Tree-SHA512: 64e912520bbec20a44032f265a8cf3f11ad7f5126c8626b5ad5e888227b1f92ecb321522fab4bbbd613230b55450abd6ace023631d0a4f357a780d65c5638bfe
2021-11-30 00:01:17 -05:00
Wladimir J. van der Laan
9cefc2f32f Merge #16379: Fix autostart filenames on Linux for testnet/regtest
ae311bc036e9461187f5396751d2e63a71248715 Fix autostart filenames on Linux (Hennadii Stepanov)

Pull request description:

  Currently, on master the `bitcoin-test.lnk` and `bitcoin-regtest.lnk` files do not work as autostart application `.desktop` files.

  This PR fixes it.

  Refs:
  - #7045
  - [Autostart Of Applications During Startup](https://standards.freedesktop.org/autostart-spec/autostart-spec-latest.html)

ACKs for top commit:
  promag:
    utACK ae311bc, weird why extension `.lnk` was used in #7045.
  laanwj:
    Code review ACK ae311bc036e9461187f5396751d2e63a71248715

Tree-SHA512: 210cc346600d52b0a262c81ed5f258365a3cea2e5522f4b5f4798fd3b54f45ed82aba68eefae59a6b6f1d8e4d00221476c23bdffc038f16f2f45c1acc837f522
2021-11-29 23:10:31 -05:00
fanquake
d1894b1710 Merge #16380: Remove unused bits from the service flags enum
fa0d0ff6e1bee60fde63724ae28a51aac5a94d4a Remove unused bits from the service flags enum (MarcoFalke)

Pull request description:

  Remove all bits that have no BIP specification nor can be observed on the active network

ACKs for top commit:
  practicalswift:
    utACK fa0d0ff6e1bee60fde63724ae28a51aac5a94d4a
  LarryRuane:
    utACK fa0d0ff6e1bee60fde63724ae28a51aac5a94d4a
  promag:
    ACK fa0d0ff6e1bee60fde63724ae28a51aac5a94d4a.
  laanwj:
    ACK fa0d0ff6e1bee60fde63724ae28a51aac5a94d4a

Tree-SHA512: 6342017bfd4c2a39c998fbb02497931b11892e1cb60fc13b948b91812f281b605a25a3fdc0d5358dff18da4e82eb4eb4de95c43c7e76ecb331c1c3985443dd21
2021-11-29 23:10:31 -05:00
MarcoFalke
0feb04ab6f Merge #16361: Remove redundant pre-TopUpKeypool check
96b6dd468a4cb6077d1a2267d620d99d39aac7d0 Remove redundant pre-TopUpKeypool checks (Gregory Sanders)

Pull request description:

  TopUpKeypool already has a quick check for `IsLocked()`

ACKs for top commit:
  achow101:
    ACK 96b6dd468a4cb6077d1a2267d620d99d39aac7d0 Reviewed the diff and checked that the `if (!IsLocked()) TopUpKeypool()` pattern is changed everywhere.

Tree-SHA512: 36f5ae1be611404656ac855763e569fd3b5e932db8170f39ebda74300aa02062774b2c28ce6cf00f2ccc0e3550de58df36efa9097e24f0a51f2809b8a489c95a
2021-11-29 23:10:31 -05:00
Holger Schinzel
ae98cd41af
Remove decomissioned mainnet seeder dnsseed.dashdot.io (#4588)
I'll switch off dnsseed.dashdot.io on 2021/12/31 - testnet seeder testnet-seed.dashdot.io will stay online until further notice.
2021-11-29 12:45:43 -05:00
PastaPastaPasta
5cf97c1b07
refactor: Misc LLMQ refactoring (#4590)
* use unique_ptr instead of shared

Signed-off-by: pasta <pasta@dashboost.org>

* unique_ptr over shared_ptr

Signed-off-by: pasta <pasta@dashboost.org>

* remove unneeded ptr

Signed-off-by: pasta <pasta@dashboost.org>

* Adjust IsTxSafeForMining checks

Signed-off-by: pasta <pasta@dashboost.org>

* use const ref

Signed-off-by: pasta <pasta@dashboost.org>

* add a todo

Signed-off-by: pasta <pasta@dashboost.org>

* use optional instead of magic max value

fixes a hypothetical bug where myIdx is not "initialized" (ie max), and we sleep forever

Signed-off-by: pasta <pasta@dashboost.org>

* simplify relay check

Signed-off-by: pasta <pasta@dashboost.org>

* use count_if instead of a loop

Signed-off-by: pasta <pasta@dashboost.org>

* add a few vector reserves

Signed-off-by: pasta <pasta@dashboost.org>
2021-11-29 08:12:09 +03:00
PastaPastaPasta
850806e6e7
chainlocks: fix atomicity in chainlock signing scheduler (#4589)
Signed-off-by: pasta <pasta@dashboost.org>
2021-11-29 08:06:50 +03:00
PastaPastaPasta
fec2d25094
Simplify the interface for CRecoveredSig (#4587)
Signed-off-by: pasta <pasta@dashboost.org>
2021-11-29 08:00:47 +03:00
UdjinM6
f088d2eb9c
Merge #15186: rpc: remove duplicate solvable field from getaddressinfo (#4584)
a2a6c8f4535c0c3c5f05714d64b238fc5a839233 rpc: remove duplicate solvable field from getaddressinfo (fanquake)

Pull request description:

  Also added optional to `iscompressed`.

Tree-SHA512: 28442a9dbfb2a9992b9b57142fa13d374d39444f04ae63460cb6330d896160cfd4b9651a3e231893eac3142ce55eff597a54cbafd3b57ffa46d3711c64044acb

Co-authored-by: Wladimir J. van der Laan <laanwj@gmail.com>
2021-11-29 07:44:56 +03:00
Wladimir J. van der Laan
f343697869
Merge #17001: doc: Remove mention of renamed mapBlocksUnlinked
fadd6e0d2a6a5104aa215f456987ad7374bcc6ce doc: Remove mention of renamed mapBlocksUnlinked (MarcoFalke)

Pull request description:

  This has been renamed to `m_blocks_unlinked`. Instead of adjusting the internal variable name in the help text, explain the debug flag with more general terms.

ACKs for top commit:
  practicalswift:
    ACK fadd6e0d2a6a5104aa215f456987ad7374bcc6ce -- diff looks correct
  promag:
    ACK fadd6e0d2a6a5104aa215f456987ad7374bcc6ce.
  laanwj:
    ACK fadd6e0d2a6a5104aa215f456987ad7374bcc6ce (as argument help is not translated this doesn't have to wait for the split-off)

Tree-SHA512: 8ad64965ab5bbba4b92933a5adcb0c9eda5bdb0cc080840a4a97b12c67f41f9b789fd289df4932d748f5a7eebc7305a000f03ceb968a78c9b5d9f34af61f0b15
2021-11-25 06:38:15 +05:30
MarcoFalke
610f1e41d8
Merge #16912: doc: Remove Doxygen intro from src/bitcoind.cpp
dbdc758c27cfdda9d255742b6c6ff4d1b7be82df doc: Improve doxygen readme navigation section (Jon Layton)
c15ac2c0aa45c59aee6d36c2d6d5210290dc601c doc: Move doxygen intro to file for USE_MDFILE_AS_MANPAGE (Jon Layton)

Pull request description:

  With `USE_MDFILE_AS_MAINPAGE`, this moves the introductory Doxygen comment to its own file. This makes `bitcoind.cpp` cleaner.

  It also removes the `\mainpage` header text, which was smaller than the section titles, and improves the Navigation section.

ACKs for top commit:
  promag:
    ACK dbdc758c27cfdda9d255742b6c6ff4d1b7be82df.

Tree-SHA512: 9352baad655877437913b74dc8888a71d1cccf55a837657ee2630fde3f427d0f0339155b7ab3d9e63a9edb9d53512d747eafcb11987a7c26c47a6df2eca93351
2021-11-25 06:38:14 +05:30
Wladimir J. van der Laan
d58ff4eb01 Merge #14505: test: Add linter to make sure single parameter constructors are marked explicit
c4606b84329d760d7cee144bebe05807857edaae Add Travis check for single parameter constructors not marked "explicit" (practicalswift)

Pull request description:

  Make single parameter constructors `explicit` (C++11).

  Rationale from the developer notes:

  > - By default, declare single-argument constructors `explicit`.
  >   - *Rationale*: This is a precaution to avoid unintended conversions that might
  >   arise when single-argument constructors are used as implicit conversion
  >   functions.

ACKs for top commit:
  laanwj:
    ACK c4606b84329d760d7cee144bebe05807857edaae

Tree-SHA512: 3e6fd51935fd93b2604b2188664692973d0897469f814cd745b5147d71b99ea5d73c1081cfde9f6393f51f56969e412fcda35d2d54e938a3235b8d40945f31fd
2021-11-24 14:36:20 -05:00
PastaPastaPasta
10e5ed2d5e
fix: datarace in walletmodel.cpp causing occasional segfaults in instantsend code at shutdown (#4583)
Thanks thephez
2021-11-24 15:06:26 +03:00
UdjinM6
1aefe95b02
Add missing implementations for chainlock and instantsend notifications in NotificationsHandlerImpl (#4580)
A follow-up to 10973 backport dashpay/dash@438c93bd9a merged via #4558
2021-11-24 15:04:59 +03:00
MarcoFalke
58365e5e76
partial Merge #15919: Remove unused OpenSSL includes to make it more clear where OpenSSL is used
a34081b7c3 Remove unused OpenSSL includes to make it more clear where OpenSSL is used (practicalswift)

Pull request description:

  Remove unused OpenSSL includes to make it more clear where OpenSSL is used.

  Before this patch:

  ```
  $ git grep '#include <openssl/' -- "*.cpp" "*.h"
  src/init.cpp:#include <openssl/crypto.h>
  src/qt/paymentrequestplus.cpp:#include <openssl/x509_vfy.h>
  src/qt/paymentrequestplus.h:#include <openssl/x509.h>
  src/qt/paymentserver.cpp:#include <openssl/x509_vfy.h>
  src/qt/rpcconsole.cpp:#include <openssl/crypto.h>
  src/qt/test/paymentservertests.cpp:#include <openssl/x509.h>
  src/qt/test/paymentservertests.cpp:#include <openssl/x509_vfy.h>
  src/qt/test/test_main.cpp:#include <openssl/ssl.h>
  src/qt/winshutdownmonitor.cpp:#include <openssl/rand.h>
  src/random.cpp:#include <openssl/err.h>
  src/random.cpp:#include <openssl/rand.h>
  src/random.cpp:#include <openssl/conf.h>
  src/test/crypto_tests.cpp:#include <openssl/aes.h>
  src/test/crypto_tests.cpp:#include <openssl/evp.h>
  ```

  After this patch:

  ```
  $ git grep '#include <openssl/' -- "*.cpp" "*.h"
  src/qt/paymentrequestplus.cpp:#include <openssl/x509_vfy.h>
  src/qt/paymentrequestplus.h:#include <openssl/x509.h>
  src/qt/paymentserver.cpp:#include <openssl/x509_vfy.h>
  src/qt/test/paymentservertests.cpp:#include <openssl/x509.h>
  src/qt/test/paymentservertests.cpp:#include <openssl/x509_vfy.h>
  src/qt/test/test_main.cpp:#include <openssl/ssl.h>
  src/qt/winshutdownmonitor.cpp:#include <openssl/rand.h>
  src/random.cpp:#include <openssl/err.h>
  src/random.cpp:#include <openssl/rand.h>
  src/random.cpp:#include <openssl/conf.h>
  ```

  Removed:
  * `src/init.cpp:#include <openssl/crypto.h>` (unused since 5ecfa36fd0 (2016))
  * `src/qt/rpcconsole.cpp:#include <openssl/crypto.h>` (unused since 5ecfa36fd0 (2016))
  * `src/test/crypto_tests.cpp:#include <openssl/aes.h>` (introduced unused in daa384120a (2015))
  * `src/test/crypto_tests.cpp:#include <openssl/evp.h>` (introduced unused in daa384120a (2015))

ACKs for commit a34081:
  MarcoFalke:
    utACK a34081b7c398847c37a587029c7ad7f3a3396c8e
  real-or-random:
    utACK a34081b
  fanquake:
    utACK a34081b

Tree-SHA512: 8ab9699c063f2d0ed2d71738f20ac5c21336585f7f62fd3a4b23199a125ea3224725591d64171347465762181788fac1bc4ce13d8824090bf1a5ac71a66d6538
2021-11-21 07:13:12 +05:30
PastaPastaPasta
649273e703
Merge pull request #4564 from Munkybooty/backports-0.19-pr5
Backports 0.19 pr5
2021-11-20 15:37:35 -05:00
MarcoFalke
843a42d750 Merge #16063: rpc: Mention getwalletinfo where a rescan is triggered
be4efb165a rpc: Mention getwalletinfo where a rescan is triggered (João Barbosa)

Pull request description:

ACKs for commit be4efb:
  jonasschnelli:
    utACK be4efb165ab7ff5824de9a46aa06eca654b7513f
  sipa:
    utACK be4efb165ab7ff5824de9a46aa06eca654b7513f

Tree-SHA512: c9e5adda6fcb71dd64ad35cc5af89b0ed815aba440df26b61ef2018abd3b801c9e93cdbedf90db3938e88dc9af39f1577c4c7248bc77260d3afda5e2a0928e68
2021-11-18 15:57:22 -05:00
MarcoFalke
07fb94ec6e Merge #16071: RPC: Hint for importmulti in help output of importpubkey and importaddress
df0e97ccb1 RPC: Hint for importmulti in help output of importpubkey and importaddress (Kristaps Kaupe)

Pull request description:

  Similar to #12702. Hint for `importmulti` also in help output of `importpubkey` and `importaddress`.

ACKs for commit df0e97:
  promag:
    utACK df0e97ccb13a28825a2731b95d2bb17f355f6920.
  jonasschnelli:
    utACK df0e97ccb13a28825a2731b95d2bb17f355f6920

Tree-SHA512: db7358d7f4d463a50874e605bbca35a1a40dbefbb1d35cf51fe2f2aa34bef90c3ca398f4ffbcb9d7d43887a03eb8d81b6ef59066a3c7eda18a7eea876f6592e7
2021-11-18 15:57:21 -05:00
Wladimir J. van der Laan
c2b9f011ce Merge #16300: util: Explain why the path is cached
fa69c3e6ca71800376761e264320c363f072dc2f util: Explain why the path is cached (MarcoFalke)

Pull request description:

  The rationale for caching the datadir is given as

  ```
      // This can be called during exceptions by LogPrintf(), so we cache the
      // value so we don't have to do memory allocations after that.
  ```

  Since 8c2d695c4a45bdd9378c7970b0fcba6e1efc01f9, the debug log location is actually cached itself in `m_file_path`.

  So explain that the caching is now only used to guard against disk access on each call. (See also #16255)

ACKs for top commit:
  promag:
    ACK fa69c3e6ca71800376761e264320c363f072dc2f.
  laanwj:
    ACK fa69c3e6ca71800376761e264320c363f072dc2f
  ryanofsky:
    utACK fa69c3e6ca71800376761e264320c363f072dc2f. Good cleanup. Previous comment was confusing, and definitely not helpful if outdated.

Tree-SHA512: 02108c90026d6d7c02843aaf59a06b4e1fa63d5d4378bb7760f50767efc340dc94c259bf7afb32fa4d47952b48a4e91798d1e0ddc1b051d770405e078636793a
2021-11-18 15:30:54 -05:00
MarcoFalke
716f124b00 Merge #16289: test: Add missing ECC_Stop() in GUI rpcnestedtests.cpp
f466c4ce846000b2f984b4759f89f3f793fa0100 Add missing ECC_Stop(); in GUI rpcnestedtests.cpp (Jonas Schnelli)

Pull request description:

  Fixes #16288

  Was probably missing in #7783

ACKs for top commit:
  Sjors:
    ACK f466c4c. Tested by comparing `make check` on master and this PR with macOS 10.14.5. I also tried with and without `--enable-debug` / `--without-gui`.
  fanquake:
    ACK f466c4ce846000b2f984b4759f89f3f793fa0100. Tested running `make check` on macOS.

Tree-SHA512: 648e10c2e35bd01fb92e63709169a6c185ac4b62c69af0109d2cd2d7db47e56ae804c788f9a1a1845746f818764799732f9e58e9dbfca3bffeea8f14683c8c7f
2021-11-18 15:30:54 -05:00