If node 0 is sufficiently fast to announce its block to node 1,
node 1 might already have the block by the time the
node_sync_via_rpc loop gets around to node 1, resulting in the
submitblock result "duplicate-inconclusive" as node 1 has the block,
but prefers an alternate chain.
* Drop BOOST_FOREACH in Dash-specific code (only), no changes in behavior
* Use references in loops (use const references where applicable) in Dash-specific code (only)
And adjust related code to make it compilable.
* Loop through nodes via connman.ForEachNode in dsq Relay instead of creating a copy
* CacheMap::Insert should not update existing item, should return `false`
* Use `emplace` operator instead of `[]` to add new items in Cache*Map implementation
* Use prefix cm/cmm for CacheMap/CacheMultiMap maps respectively to distinguish them from each other and from std::map-s
* Avoid excessive processing of already known valid votes
Also prettify debug log output a bit
* Drop nCurrentSize from Cache*Map classes
Use `size()` and `empty()` of std classes instead, they have constant complexity since c++11
* Do not create an explicit iterator if it's never used later (in Cache*Map)
* Do not prune last item in CacheMultiMapInsert when trying to insert a duplicate one
* Change makeseeds.py to use masternode list as input instead of DNS seed dump
* Allow 4 nodes per ASN
Lift the limitation a bit so we get more entries
* Update nodes_main.txt and nodes_test.txt
Generated with makeseeds.py based on current masternode lists
* Fix comment about the source of the seed nodes and use masternodelist rpc
* Use fixed OpenDNS servers for ASN filtering
* Use Dash block for DeserializeAndCheckBlockTest
Replaced Bitcoin block with the largest Dash block I could find on mainnet.
* Store hashDevnetGenesisBlock in Consensus::Params
Remove the need for chainparams to be available when the devnetGenesis hash
is needed. Fixes a crash in CheckBlockHeader() when called from benchmarking
code, which does not initialize the Params() function.
Added a workaround to the masternode+pruning mode check to allow pruning
in regtest. The actual bug behind the masternode+pruning check is not
touched this way. Please read the linked GitHub issues for details.
e662af3 Use 2 hour grace period for key timestamps in importmulti rescans (Russell Yanofsky)
38d3e9e [qa] Extend import-rescan.py to test imports on pruned nodes. (Russell Yanofsky)
c28583d [qa] Extend import-rescan.py to test specific key timestamps (Russell Yanofsky)
8be0866 [qa] Simplify import-rescan.py (Russell Yanofsky)
266a811 Use MTP for importmulti "now" timestamps (Russell Yanofsky)
3cf9917 Add test to check new importmulti "now" value (Russell Yanofsky)
442887f Require timestamps for importmulti keys (Russell Yanofsky)
We currently have usehd defaulted to 0, so we need to explicitly start it
with usehd=1 in wallet-dump.py.
This requires setting up a new data dirs cache for hd as the wallets won't
be compatible otherwise. At the same time we need the initial state of
the wallet to test the dump functionality.
Also use redirect_stderr=True to fix failure when run from pull-tester
* Do not send dash-specific requests to masternodes before we are fully connected
Open all masternode connections via CConnman::ThreadOpenMasternodeConnections only. Queue requests and process them after some timeout.
* drop excessive `mnodeman.`
* switch from queues to maps of pending requests
* adjust few strings, add TODO for POOL_STATE_CONNECTING
* fix
* there can be only one pending dsa request per ps client
Setting PKG_CONFIG_SYSROOT_DIR environment variable to "/"
for building Qt makes pkgconf behave strange
(remove "/" prefix instead of adding it).
And it makes no sense to set this variable for old pkgconfig anyway.
Signed-off-by: Oleg Girko <ol@infoserver.lv>