* Do not hold cs_main while emitting messages
Fixes potential deadlock:
```
POTENTIAL DEADLOCK DETECTED
Previous lock order was:
(1) cs_deqsessions privatesend-client.cpp:966
(2) cs_main privatesend-client.cpp:816
Current lock order is:
(2) cs_main qt/walletmodel.cpp:299
wallet->cs_wallet qt/walletmodel.cpp:299
(1) cs_deqsessions privatesend-client.cpp:350
```
* Keep CWalletTx* newTx in inner scope
* Fix incorrect inline help for "protx update_registrar"
Initial ProRegTx does not define a field named "collateralAddress". It is not necessary to use the collateral address to receive payout, any Dash address can be defined here.
* Fix incorrect syntax for "protx revoke" inline help
"operatorKey" is required here
The cache can become quite large and uncompressing/recompressing it is slow.
Better to let ccache handle compression as it will then only perform it
on files which are actually used.
* Updating de, es, fi, nl, pt, sk, zh_CN, zh_TW
Known issues:
dash_zh_CN.ts: Mismatch between 'Start &all' and '启动全部(%A)'
dash_zh_CN.ts: Mismatch between 'Open the %1 debug log file from the current data directory. This can take a few seconds for large log files.' and '打开当前目录中的调试日志文件。日志文件大的话可能要等上几秒钟。'
dash_zh_CN.ts: Mismatch between 'Too many %f denominations, removing.' and '太多面额化资金,正在移除。'
dash_zh_CN.ts: Mismatch between 'Initialization sanity check failed. %s is shutting down.' and '初始化完整性检查失败。% 即将
* Fix issues in zh_CN
* Implement tab for DIP3 MN list
* Update src/qt/masternodelist.cpp
Co-Authored-By: codablock <ablock84@gmail.com>
* Change "x.xx% to UNSPECIFIED" to "x.xx% but not claimed" for opeartor reward
This fixes an issue reported by users on Ubuntu 18.04 LTS. They got the
following error message when starting dash-qt:
xkbcommon: ERROR: failed to add default include path auto
Qt: Failed to create XKB context!
Use QT_XKB_CONFIG_ROOT environmental variable to provide an additional search path, add ':' as separator to provide several search paths and/or make sure that XKB configuration data directory contains recent enough contents, to update please see http://cgit.freedesktop.org/xkeyboard-config/ .
Dash-qt starts then, but does not accept any input from the keyboard.
The reason is that qt tries to find the xkb config root in the configure
phase, but fails to find it. To make this detection work, libxkbcommon
has to be installed on the host system, even though it is then never used.
* Revert "Restart MNs in DIP3 tests even if collateral has not moved (#2441)"
This reverts commit 153afb9062.
* Reuse old legacy MN key when upgrading to protx
These need to be restarted even in this case as keys are cycled when
upgrade_mn_protx is called. This resulted in invalid IX votes but was not
noticed because only 2 MNs were affected (still 8 of 10 votes succesful)
* Track confirmedHash of masternodes
* Also include confirmedHash in DIP4
* Implement CalculateQuorum and CalculateScores in CDeterministicMNList
* Use new ProRegTx based scoring function in GetMasternodeScores
* Update test vectors for simplifiedmns_merkleroots tests
* Implement VersionBitsCountBlocksInWindow
This gives the count of blocks that voted for the given BIP9 deployment
* Add additional information to BIP9 softforks returned by getblockchaininfo
* make sure progress doesn't exceed 1
* Allow to reuse collaterals and addresses in ProRegTx
This also requires to move out the duplication check from CheckService to
the 2 individual ProTx check methods.
* Implement replacement logic for reused collaterals
* Add tests for new replacement logic
* Update defaultAssumeValid and nMinimumChainWork for mainnet
* Update defaultAssumeValid and nMinimumChainWork for testnet
* Add checkpoint for mainnet
* Add checkpoint for testnet