Commit Graph

17010 Commits

Author SHA1 Message Date
UdjinM6
3c54f65278 Bump copyright year to 2020 (#3290)
* Bump _COPYRIGHT_YEAR

* Run copyright update script

./contrib/devtools/copyright_header.py update .

* Update COPYING

* Bump copyright year in dash-cli/qt/tx and dashd map pages
2020-01-17 15:51:08 +01:00
UdjinM6
35d28c7485 Update man pages (#3291) 2020-01-17 15:50:53 +01:00
taw00
203cc90778 trivial: adding SVG and high contrast icons (#3209)
* adding favicon image
- noticed that someone already contributed all my pixmaps I have been using for
  my builds (thank you, whoever you were). The favicon was left out. Adding
  that as well. It is useful from a completist perspective and have users a
  resource they can just use if they have need of a favicon for their project.

* trivial: adding SVG and high contrast icons
Purpose: for accessibility, if QT wallet is packaged (linux) correctly,
when the user switches to high contrast in their desktop environment
the high contrast icons will be used.
The packaging should land these icons in the
`/usr/share/icons/HighContrast` and `/usr/share/icons/hicolor` trees.

* trivial: HighContrast SVG is actually HighContrast now.
2020-01-17 15:50:24 +01:00
UdjinM6
e875d4925a Define defaultTheme and darkThemePrefix as constants and use them instead of plain strings (#3288) 2020-01-17 15:42:03 +01:00
UdjinM6
1d203b422c Bump PROTOCOL_VERSION to 70216 (#3287)
We removed "alert" p2p message and changed "mempool" message behaviour a bit. It probably makes sense to bump PROTOCOL_VERSION now. This should also help to distinguish v0.15 nodes from late v0.14.0.x ones.
2020-01-17 15:41:43 +01:00
UdjinM6
b84482ac57 Let regtest have its own qt settings (#3286)
Also, avoid messing up testnet settings while playing in regtest
2020-01-17 15:41:25 +01:00
UdjinM6
1c885bbedf Only load valid themes, fallback to "Light" theme otherwise (#3285)
* Only load valid themes, fallback to "light" otherwise

* Refactor PR3285 a bit

* fix

Co-authored-by: Nathan Marley <nathan.marley@gmail.com>
2020-01-17 15:41:10 +01:00
UdjinM6
617c588488
v0.15 release notes draft (#3283)
* Archive 0.14.0.5 release notes

* v0.15 release notes draft

* Apply suggestions from code review

Thanks @thephez!

Co-Authored-By: thephez <thephez@users.noreply.github.com>

* Apply suggestions from code review

Co-Authored-By: thephez <thephez@users.noreply.github.com>

* Fixes and additions to release notes

* Add "Crash reports and stack traces" section

* Few clarifications

Co-authored-by: thephez <thephez@users.noreply.github.com>
Co-authored-by: Alexander Block <ablock84@gmail.com>
2020-01-14 22:46:02 +03:00
UdjinM6
9d48227b04
Merge pull request #3282 from UdjinM6/bprc2
Backport "candidates" from develop to v0.15.x
2020-01-11 04:04:10 +03:00
Alexander Block
ce924278df Don't load caches when blocks/chainstate was deleted and also delete old caches (#3280)
* Don't load caches when blocks/chainstate was not present

* Delete old cache files when we decided to not load them

* Make sure cache files are of the exact format we expected them to be, flush empty objects into them instead of deleting files naively

* Streamline logic a bit, rename fIgnoreCacheFiles to fLoadCacheFiles

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2020-01-10 13:30:56 +03:00
Alexander Block
ebf529e8aa Drop new connection instead of old one when duplicate MNAUTH is received (#3272) 2020-01-10 13:30:47 +03:00
UdjinM6
817cd9a177 AppInitMain should quit early and return false if shutdown was requested at some point (#3267)
This fixes crashes e.g. when user decided to shutdown while rescanning the wallet
2020-01-10 13:30:37 +03:00
UdjinM6
42e104932d Tweak few more strings re mixing and balances (#3265)
* Tweak few more strings re mixing and balances

* "Fully mixed"/"mixed" -> "PrivateSend"

* Apply suggestions from code review

Co-Authored-By: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com>

Co-authored-by: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com>
2020-01-10 13:30:18 +03:00
Alexander Block
d30eeb6f8d Use -Wno-psabi for arm builds on Travis/Gitlab (#3264)
This avoids spamming logs with "note: parameter passing for argument of type " warnings.
2020-01-10 13:30:08 +03:00
Alexander Block
1df3c67a8c A few fixes for integration tests (#3263)
* Wait a little bit longer in wallet-encryption.py

The timed wallet locking is happening by an asynchronous task internally,
which means that it might need a little bit longer then the specified
timeout.

* Add workaround for p2p-versionbits-warnings.py until we backport bitcoin#12264
2020-01-10 13:29:59 +03:00
Alexander Block
6e50a7b2a1 Fix params.size() check in "protx list wallet" RPC (#3259)
This should have been "> 4" as otherwise it bails out when the height is
specified.
2020-01-10 13:29:41 +03:00
-k
cbf9c54a1d Backport osslsigncode 2.0 - bitcoin#16669 and bitcoin#17671 (#3258)
* build: use osslsigncode 2.0 in gitian

The original osslsigncode project (https://sourceforge.net/projects/osslsigncode/) has been marked as abandonware,
"This is now - and has been for a long while - abandonware. Feel free to create your own forks etc.".

However, a fork at https://github.com/mtrojnar/osslsigncode has emerged that has incorporated
theuni's patches, updated the tool to work with OpenSSL 1.1 and made other improvements.

This commit switches the windows signer descriptor to use this new version of osslsigncode.

* Fixed wget call in gitian-build.py

Co-authored-by: Michael <fanquake@gmail.com>
Co-authored-by: willyk <k.o.willy@gmail.com>
2020-01-10 13:29:31 +03:00
Alexander Block
1a1cec224a Fix pull request detection in .gitlab-ci.yml (#3256)
* Fix pull request detection on Gitlab CI

* Fix CI_COMMIT_BEFORE_SHA
2020-01-10 13:29:22 +03:00
Alexander Block
31afa9c0fc Don't disconnect masternode connections when we have less then the desired amount of outbound nodes (#3255) 2020-01-10 13:29:11 +03:00
PastaPastaPasta
cecbbab3cd move privatesend rpc methods from rpc/masternode.cpp to new rpc/privatesend.cpp (#3253)
* move privatesend rpc methods from masternode.cpp to new privatesend.cpp

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

* add ifdef ENABLE_WALLET check for wallet.h import

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

* actually register privatesend rpc

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

* add dropped help text and change some weird spacing below

Signed-off-by: Pasta <pasta@dashboost.org>
2020-01-10 13:29:00 +03:00
UdjinM6
8e054f3742 Sync mempool from other nodes on start (#3251)
* Sync mempool from other nodes on start

* Add `-syncmempool` cmd-line option to be able to disable mempool sync if needed

* Only sync mempool with outbound peers

Co-authored-by: Alexander Block <ablock84@gmail.com>
2020-01-10 13:28:42 +03:00
UdjinM6
474f25b8dc Push islock invs when syncing mempool (#3250)
* Push islock invs when syncing mempool

* Send islock invs right away instead of stacking them for later
2020-01-10 13:28:32 +03:00
UdjinM6
3b0f8ff8b3 Skip mnsync restrictions for whitelisted and manually added nodes (#3249) 2020-01-10 13:28:22 +03:00
UdjinM6
fd94e9c38c Streamline, refactor and unify PS checks for mixing entries and final txes (#3246)
* Move PS mixing entry verification on masternodes into `AddEntry()`

Also streamline logic a bit and drop unused/excessive parts.

* Unify PS checks among masternodes and clients

* No need to re-check outputs over and over again

* No need to count, fail early if any output is missing

* No need to look any further once we found the input we expected

A tx with duplicate inputs would be considered invalid anyway and we also know there are no duplicates because we just verified the final tx above.

Also drop an unused variable.

* Unify LogPrint-s

* Drop human-readable strings for unused PoolMessage-s

* Apply suggestions from code review

Co-Authored-By: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com>

* Re-introduce zero-fee checks

* fix log

* Move all txin/txout verification logic shared by CPrivateSendClientSession::SignFinalTransaction() and CPrivateSendServer::AddEntry() into CPrivateSendBaseSession::IsValidInOuts()

* fix nit

* Add missing return

* Use CCoinsViewMemPool instead of doing it manually

Co-authored-by: PastaPastaPasta <6443210+PastaPastaPasta@users.noreply.github.com>
Co-authored-by: Alexander Block <ablock84@gmail.com>
2020-01-10 13:28:12 +03:00
UdjinM6
c42b200973 Try to avoid being marked as a bad quorum member when we sleep for too long in SleepBeforePhase (#3245)
* Do not sleep at the last block of the phase, it's not safe

* Refactor it a bit to make it clearer what's going on here

* Stop sleeping if blocks came faster than we expected
2020-01-10 13:27:58 +03:00
UdjinM6
db6ea1de8e Fix log output in CDKGPendingMessages::PushPendingMessage (#3244) 2020-01-10 13:27:47 +03:00
Alexander Block
416d85b294 Tolerate parent cache with empty cache-artifact directory (#3240) 2020-01-10 13:27:31 +03:00
UdjinM6
0c9c27c6fd Add ccache to gitian packages lists (#3237) 2019-12-12 11:47:04 +01:00
UdjinM6
65206833e4 Fix menu bar text color in Dark theme (#3236) 2019-12-12 11:46:54 +01:00
UdjinM6
7331d4edda Bump wait_for_chainlocked_block_all_nodes timeout in llmq-is-retroactive.py to 30 sec when mining lots of blocks at once (#3238) 2019-12-12 11:46:31 +01:00
UdjinM6
dad102669b Update static and dns seeds for mainnet and testnet (#3234)
* Drop (test.)dnsseed.masternode.io

* makeseeds.py

mainnet 1185193, testnet 225964

* generate-seeds.py

* Update tor.md with live onion nodes

All old nodes are down
2019-12-11 12:30:38 +01:00
Alexander Block
f0549c4408
Merge pull request #3231 from UdjinM6/mergemaster_0.14.0.5
Merge master 0.14.0.4/5 back into develop
2019-12-11 12:29:12 +01:00
Alexander Block
9378c271b6 Modify makesseeds.py to work with "protx list valid 1" instead of "masternode list (#3235)
* Modify makesseeds.py to work with "protx list valid 1" instead of "masternode list"

This allows better filtering for MN owners with multiple MNs. This commit
also removes some unsupported fields, e.g. "protocol", "lastseen", ...

* Update contrib/seeds/README.md with new instructions
2019-12-10 18:18:44 +03:00
UdjinM6
097491a9a8 Merge branch 'master' into mergemaster_0.14.0.5 2019-12-08 03:16:19 +03:00
Alexander Block
2ae1ce4800
[v0.14.0.x] Update release notes with notable changes and changelog (#3229)
* Update release notes with notable changes and changelog

* Add #3230 to changelog
2019-12-07 16:55:51 +01:00
UdjinM6
20d4a27778
[v0.14.0.x] Make sure mempool txes are properly processed by CChainLocksHandler despite node restarts (#3230) 2019-12-07 18:53:03 +03:00
UdjinM6
91a996e325
Make sure mempool txes are properly processed by CChainLocksHandler despite node restarts (#3226)
* Pass nAcceptTime via TransactionAddedToMempool and use it for ChainLocks

Otherwise the "first seen" time is way off after node restart

* Don't skip TransactionAddedToMempool for chainlocks while blockchain is not synced yet

Otherwise txes from mempool.dat won't be processed there
2019-12-07 13:56:17 +03:00
Alexander Block
dc07a0c5e1 [v0.14.0.x] Bump version and prepare release notes (#3228)
* Bump version to 0.14.0.5

* Copy 0.14.0.4 release notes and prepare 0.14.0.5 release notes

* Run gen-manpages.sh
2019-12-07 13:53:34 +03:00
UdjinM6
3998c3191f
Merge pull request #3227 from codablock/pr_v14_backports
[v0.14.0.x] Backport pending PRs
2019-12-07 13:53:00 +03:00
Alexander Block
401da32090 More fixes in llmq-is-retroactive tests 2019-12-07 00:35:27 +01:00
Alexander Block
33721eaa11 Make llmq-is-retroactive test compatible with 0.14.0.x 2019-12-07 00:35:27 +01:00
Alexander Block
85bd162a3e Make wait_for_xxx methods compatible with 0.14.0.x
Mostly related to wait_until not asserting in 0.14.0.x
2019-12-07 00:35:27 +01:00
Alexander Block
22cfddaf12 Allow re-signing of IS locks when performing retroactive signing (#3219)
* Implement re-signing of InstantSend inputs when TXs come in via blocks

* Use GetAdjustedTime instead of GetTimeMillis in CSigSharesManager

This allows use of mocktime in tests.

* Expose verifiedProRegTxHash in getpeerinfo and implement wait_for_mnauth

* Allow to wait for IS and CL to NOT happen

* Bump timeout for wait_for_instantlock

* Implement tests for retroactive signing of IS and CLs

* Add wait_for_tx function to DashTestFramework

* Add -whitelist=127.0.0.1 to node0

* Use node3 for isolated block generation

* Don't test for non-receival of TXs on node4/node5
2019-12-07 00:35:27 +01:00
Alexander Block
a8b8891a1d Add wait_for_xxx methods as found in develop
But slightly modified so that they work with wait_until which does not
assert in v0.14.0.x
2019-12-06 22:47:57 +01:00
Alexander Block
8dae12cc60 More/better logging for InstantSend 2019-12-06 22:47:57 +01:00
UdjinM6
fdd19cf667 Tests: Fix the way nodes are connected to each other in setup_network/start_masternodes (#3221)
* Tests: Connect to the control node only in start_masternodes

Masternodes should take care of intra-quorum connections themselves

* Reconnect non-masternodes back to the control node
2019-12-06 22:47:57 +01:00
Alexander Block
41f0e9d028 More fixes related to extra_args 2019-12-06 22:47:57 +01:00
UdjinM6
5213118601 Tests: Allow specifying different cmd-line params for each masternode (#3222) 2019-12-06 22:47:57 +01:00
Alexander Block
2fef21fd80 Don't join thread in CQuorum::~CQuorum when called from within the thread (#3223) 2019-12-06 22:47:57 +01:00
Alexander Block
e69c6c3207 Merge #12392: Fix ignoring tx data requests when fPauseSend is set on a peer (#3225)
c4af738 Fix ignoring tx data requests when fPauseSend is set on a peer (Matt Corallo)

Pull request description:

  This resolves a bug introduced in
  66aa1d58a158991a8014a91335b5bc9c00062f56 where, if when responding
  to a series of transaction requests in a getdata we hit the send
  buffer limit and set fPauseSend, we will skip one transaction per
  call to ProcessGetData.

  Bug found by Cory Fields (@theuni).

  Probably worth slipping into 0.16 :/.

Tree-SHA512: a9313cef8ac6da31eb099c9925c8401a638220cf7bc9b7b7b83151ecae4b02630f2db45ef6668302b9bb0f38571afbd764993427f1ec9e4d74d9a3be6647d299
2019-12-06 22:47:57 +01:00