Reduces DEFAULT_MEMPOOL_EXPIRY from 336 hours to 24 hours.
Motivation is that while blocks are empty, un-relayable tx are
stuck in mempools for a long time and effectively locking utxo
for 2 weeks until they can be respent, if no RBF opt-in was
performed (most wallet implementations do not do RBF opt-in.)
As the expectation is that block space will not be fully utilized
for the foreseeable future, and therefore, as long as this is the
case, no valid transaction should ever live in the mempool for
more than a couple of minutes.
This default setting can be overridden with the -mempoolexpiry
parameter by individual node operators to a value (expressed
in hours) that makes the most sense for the use cases the node
serves.
Fix pruneheight help text.
Move fPruneMode block to match output ordering with help text.
Add functional tests for new fields in getblockchaininfo.
Rebase-from: bitcoin#b7dfc6c4
- travis: RUN_TESTS requires python3-dev. This enables us to
compile the ltc_scrypt library under python3
- pull tester deps: use curl instead of wget to reduce dependencies
as everything else uses curl
This is not a testcase for Dogecoin. Like the other payment
server tests, this could be amended, or it can be depreciated,
depending on where we take payment protocol.
- transaction_tests/IsStandard was spending 0.9 DOGE
- tx_validationcache_tests/mempool_dblspend was spending 0.11 DOGE
- wallet_tests/coin_selection was completely built around spending
cents. This test has been completely reworked and redocumented
to make sense for Dogecoin
Given that GUIUtil::parseBitcoinURI is expecting it to start with dogecoin,
it seems like this was overlooked, and this results in dogecoin: links not
being processed as expected in handleURIOrFile, ipcParseCommandLine.
Instead of processing the link as a payment request and opening the such send
page, it simply opens the core wallet (or attempts to open another).
This commit makes dogecoin-qt properly handle dogecoin links so that the such
send page is opened with the desired information obtained from the link.
Fixes#1628
It seems gcc 9.2.0 requires deque to be included:
x86_64-pc-linux-gnu-g++ -std=c++11 -DHAVE_CONFIG_H -I. -I../src/config -I. -I./obj -I/usr/include/db5.1/ -pthread -I/usr/include -I./leveldb/include -I./leveldb/helpers/memenv -I./secp256k1/include -pthread -I/usr/include/db5.1 -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS -march=native -O2 -pipe -fomit-frame-pointer -c -o libdogecoin_server_a-httpserver.o `test -f 'httpserver.cpp' || echo './'`httpserver.cpp
httpserver.cpp:71:10: error: ‘deque’ in namespace ‘std’ does not name a template type
71 | std::deque<std::unique_ptr<WorkItem>> queue;
| ^~~~~
httpserver.cpp:30:1: note: ‘std::deque’ is defined in header ‘<deque>’; did you forget to ‘#include <deque>’?
29 | #include <event2/keyvalq_struct.h>
+++ |+#include <deque>
30 |
httpserver.cpp: In member function ‘bool WorkQueue<WorkItem>::Enqueue(WorkItem*)’:
httpserver.cpp:110:13: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’?
110 | if (queue.size() >= maxDepth) {
| ^~~~~
| Enqueue
httpserver.cpp:113:9: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’?
113 | queue.emplace_back(std::unique_ptr<WorkItem>(item));
| ^~~~~
| Enqueue
httpserver.cpp: In member function ‘void WorkQueue<WorkItem>::Run()’:
httpserver.cpp:125:35: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’?
125 | while (running && queue.empty())
| ^~~~~
| Enqueue
httpserver.cpp:129:31: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’?
129 | i = std::move(queue.front());
| ^~~~~
| Enqueue
httpserver.cpp: In member function ‘size_t WorkQueue<WorkItem>::Depth()’:
httpserver.cpp:154:16: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’?
154 | return queue.size();
| ^~~~~
| Enqueue