Skip to content

Conversation

@jonasschnelli
Copy link
Contributor

Dispatching a QThread from a non Qt thread is not allowed. Always use the HTTPRPCTimerInterface (non QT) to dispatch RPCRunLater threads.

Agree that using the order of timerInterfaces is not the best way of identifying the type of the timer interface.

fixes #7316

@maflcko
Copy link
Member

maflcko commented Jan 8, 2016

Tested ACK 9490ec3, indeed fixes #7316 (comment).

Tag "Backport" missing?

@jonasschnelli
Copy link
Contributor Author

Discussed with @laanwj on IRC and i'll try now to remove the set of timers, I think having only one timer makes things more stable for future changes.

@laanwj
Copy link
Member

laanwj commented Jan 8, 2016

Concept ACK, but the change in logic needs to be more explicit. This is too fragile against refactors/reorders (at least for master, for 0.12 as a quick last minute patch it'd be acceptable...).
(as discussed on IRC)

@jonasschnelli
Copy link
Contributor Author

Added a commit that removes the std::vector for RPCTimerInterfaces (just one pointer now). Also added a function (RPCSetTimerInterfaceIfUnset) that prevents setting a Qt bases timer interface if already only is set.
Not meant for back porting (will open "the" simple fix for 0.12).

src/rpcserver.h Outdated
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo: if unset

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. Fixed.

@laanwj
Copy link
Member

laanwj commented Jan 8, 2016

Nice, uTACK

Dispatching a QThread from a non Qt thread is not allowed. Always use the HTTPRPCTimerInterface (non QT) to dispatch RPCRunLater threads.
@jonasschnelli jonasschnelli force-pushed the 2016/01/qt_thread branch 2 times, most recently from 167400b to 42bb9fe Compare January 8, 2016 10:16
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/accidentiailly overwrite/accidentally overwriting

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. Force push fixed.

@laanwj laanwj merged commit 8a7f000 into master Jan 8, 2016
laanwj added a commit that referenced this pull request Jan 8, 2016
8a7f000 [RPC] remove the option of having multiple timer interfaces (Jonas Schnelli)
db198d5 Fix RPCTimerInterface ordering issue Dispatching a QThread from a non Qt thread is not allowed. Always use the HTTPRPCTimerInterface (non QT) to dispatch RPCRunLater threads. (Jonas Schnelli)
@jonasschnelli jonasschnelli deleted the 2016/01/qt_thread branch January 21, 2016 08:03
cddjr referenced this pull request in cddjr/BitcoinUnlimited Apr 6, 2017
8a7f000 [RPC] remove the option of having multiple timer interfaces (Jonas Schnelli)
db198d5 Fix RPCTimerInterface ordering issue Dispatching a QThread from a non Qt thread is not allowed. Always use the HTTPRPCTimerInterface (non QT) to dispatch RPCRunLater threads. (Jonas Schnelli)
codablock pushed a commit to codablock/dash that referenced this pull request Dec 9, 2017
8a7f000 [RPC] remove the option of having multiple timer interfaces (Jonas Schnelli)
db198d5 Fix RPCTimerInterface ordering issue Dispatching a QThread from a non Qt thread is not allowed. Always use the HTTPRPCTimerInterface (non QT) to dispatch RPCRunLater threads. (Jonas Schnelli)
random-zebra added a commit to random-zebra/PIVX that referenced this pull request Oct 3, 2018
Mrs-X added a commit to PIVX-Project/PIVX that referenced this pull request Oct 14, 2018
0053876 [RPC]: Fix RPCTimerInterface ordering issue (bitcoin#7317) (random-zebra)

Tree-SHA512: 0e3b5ea32d48d824e37fff701c420e835c1da011cfe10302d47773341ca303ad680b85b2e6d505cda6d29be3e1c0964ee5880f66a67b1aed07aa510ba6fdc312
binarysculptor pushed a commit to binarysculptor/wallet that referenced this pull request Oct 14, 2018
0053876 [RPC]: Fix RPCTimerInterface ordering issue (bitcoin/bitcoin#7317) (random-zebra)

Tree-SHA512: 0e3b5ea32d48d824e37fff701c420e835c1da011cfe10302d47773341ca303ad680b85b2e6d505cda6d29be3e1c0964ee5880f66a67b1aed07aa510ba6fdc312
binarysculptor pushed a commit to binarysculptor/wallet that referenced this pull request Nov 22, 2018
0053876 [RPC]: Fix RPCTimerInterface ordering issue (bitcoin/bitcoin#7317) (random-zebra)

Tree-SHA512: 0e3b5ea32d48d824e37fff701c420e835c1da011cfe10302d47773341ca303ad680b85b2e6d505cda6d29be3e1c0964ee5880f66a67b1aed07aa510ba6fdc312
binarysculptor pushed a commit to binarysculptor/wallet that referenced this pull request Nov 24, 2018
0053876 [RPC]: Fix RPCTimerInterface ordering issue (bitcoin/bitcoin#7317) (random-zebra)

Tree-SHA512: 0e3b5ea32d48d824e37fff701c420e835c1da011cfe10302d47773341ca303ad680b85b2e6d505cda6d29be3e1c0964ee5880f66a67b1aed07aa510ba6fdc312
binarysculptor pushed a commit to binarysculptor/wallet that referenced this pull request Nov 24, 2018
0053876 [RPC]: Fix RPCTimerInterface ordering issue (bitcoin/bitcoin#7317) (random-zebra)

Tree-SHA512: 0e3b5ea32d48d824e37fff701c420e835c1da011cfe10302d47773341ca303ad680b85b2e6d505cda6d29be3e1c0964ee5880f66a67b1aed07aa510ba6fdc312
observerdev pushed a commit to observernet/obsr that referenced this pull request Dec 6, 2018
observerdev pushed a commit to observernet/obsr that referenced this pull request Dec 6, 2018
binarysculptor pushed a commit to binarysculptor/wallet that referenced this pull request Dec 30, 2018
Merge #688: [Zerocoin]  RPC import/export zerocoins private key standardized + Cleanup in AccPoK and SoK to avoid redundant calculations.

eb73e16 aM_4 times aR stored (furszy)
68dc475 remove useless last loop round vResult serialization (furszy)
62b5f05 AccPoK, avoid do the same calculations many times (furszy)
111eb7e unneccessary mint (furszy)
a0cfc25 import and export zerocoin, private key format standardized (furszy)

Tree-SHA512: 5674108ad54a7ef2e613c28f4c40188bdd843075772dd87d263c2978bd407bd167380016852c737389a2f01831f9b586d33c9aa9f4c42fe2a6896e5e11e5033e

Merge #730:  [Wallet] fix bug with fWalletUnlockAnonymizeOnly flag setting

eb08890 [RPC] fix typo in 'walletpassphrase' help (random-zebra)
06254d5 fix bug with fWalletUnlockAnonymizeOnly flag setting (random-zebra)

Tree-SHA512: af6eed612d259421e863511b7e0a8906187f613c92b779975e9becc4e43812fa2fdb591dbfab48f9968d3031e9e0bf7539d53d0cf3b5e32c03adcf2fbf13729b

Merge #725: [UI] Sort numbers correctly in zPIV and coin control dialogs

da28a5c [GUI] subclass QTreeWidgetItem for zpivcointrol and coincontrol (random-zebra)
cf9096c [UI] Sort numbers correctly in zPIV control dialog (warrows)

Tree-SHA512: 9fb4edad15b8ba3eeebd8ccd14c5a306b90293c0b6984f8a7d7484a827d4e2d4cce43867d38e02c9e8991f8857058f821d41648e794829c8e00238513d30973d

Merge #724: [RPC] Ensure that a numeric is being passed to AmmountFromValue

1f56fba [RPC] Ensure that a numeric is being passed to AmmountFromValue (Fuzzbawls)

Tree-SHA512: 3adf9c60ed5f7474b89527054744f55e60584a3a56ddc6977a2e35919119c902e9c2f4a62e841410b871f778530c9586dbe59fc3523747d82d37d27d76e92511

Merge #731: [zPIV] Fix bignum overloads when using OpenSSL

69459a3 [zPIV] Fix bignum overloads when using OpenSSL (Fuzzbawls)

Tree-SHA512: 54aa584ea41524d995fa4ddb63c57f2a5c331f278bf77ccea698ef135d877ac0b3a5695a7430373d194fd87544606e423f588e28cef7603e0e8c4d5b164bd33c

Merge #733: [GUI] Hide orphans

960137a [GUI] Add option to hide orphans in overview and txlist (random-zebra)

Tree-SHA512: d9c6b2cb073d9352b910bef3089a755e8991618b7f427e4e4ddfb48364103d5c63b65197d16f405b58aac7ab5d3ea00a886d51e162965d809346074d065d75ff

Merge #736: [Utils] Update linters for python3

e66e20e [Utils] Update linters for python3 (Fuzzbawls)

Tree-SHA512: 8c9bfa3bb8464ba8acbc1a9997dca656ca86f776b9eacc23aad45d2c11c64bd5a611ecd51778bd20d1814b5573d6b9a0d994e7b5105bd5f9a90b4ff5534768ba

Merge #726: [RPC] include mints metadata in 'listmintedzerocoins' output

864aef8 [RPC] include mints metadata in 'listmintedzerocoins' output (random-zebra)

Tree-SHA512: bc19fbf7af754d4616f658668e1b4ad351e8e97b29038ab02134de4f589222e3f30f5b2ccf8b69efa00a6da56f02e5f87eb12f9ca71afc8047040c6bde70d843

Merge #727: [RPC] Add 'spendzerocoinmints' RPC call

f8ec8e0 [RPC] add 'spendzerocoinmints' RPC call (random-zebra)

Tree-SHA512: 95933d5f4a2de70cf9b0b29b3ed922c39b12059f08a66cd7ddfd60a8f21274fc3ef3f76b6fc70c87768b137b78fccd0f59d22b99a99b53c3d77fc20a6045384f

Merge #729: [RPC] Fix RPCTimerInterface

0053876 [RPC]: Fix RPCTimerInterface ordering issue (bitcoin/bitcoin#7317) (random-zebra)

Tree-SHA512: 0e3b5ea32d48d824e37fff701c420e835c1da011cfe10302d47773341ca303ad680b85b2e6d505cda6d29be3e1c0964ee5880f66a67b1aed07aa510ba6fdc312

Merge #737: [Refactor] Remove 'boost::lexical_cast<>'

a1a8fb9 Replace 'boost::lexical_cast<std::int>' with 'std::stoi' (random-zebra)
6c7b8ae Replace 'const boost::bad_lexical_cast' with 'std::invalid_argument' (random-zebra)
e89923f Replace 'boost::lexical_cast<std::string>' with 'std::to_string' (random-zebra)

Tree-SHA512: 37900a8cadacab61d31872d55c8cb1a654a4f395ffd51292a370d9fb15f313c86bbb5c15f3278394a59ae523341b94a0d091167283e4e87d5d41287502917373

Merge #740: [Net] Pull uacomment in from upstream

ec8f69a [Net] Pull uacomment in from upstream (Fuzzbawls)

Tree-SHA512: b6f30a711967af188dd4aab42338d161c5ee587eb36a2a3625be81c32c8b61ce03a19f5485b3b3cbc945f903b2eb32db6a3b081c2ef3e9561aa538583cb4713a

Merge #741: [GUI] Sort by 'data' in zPIV and coin control dialogs

8b87ad3 [GUI] introduce CCoinCointrolWidgetItem and CZPivControlWidgetItem (random-zebra)

Tree-SHA512: 59f8fc92c454ad3fa07f49f8bd1b3313e60b60eff413723ae16d6a12b440416a7db89d5f9f20a8813f9d23574eeeaba635f84bb9863457aae5dc0818d9971512

Merge #742: [RPC] Add masternode's pubkey to listmasternodes RPC

132166e Add masternode's pubkey to listmasternodes RPC (presstab)

Tree-SHA512: c8d7a50aa275b0da845c86f942fe49f2e1974983bf9a9553cef6897760b737c07950ba828196ebaa36f6992593085695fe814923b39b7bbf410533eb51ebe9cd

Merge #743: [Refactor] remove CPubKey::GetHex

63daf40 [Refactor] remove CPubKey::GetHex (random-zebra)

Tree-SHA512: 360902e7e54c296c73de233f2fdb3b057916141c54d12f594a9a0c84e75cc8d554cef16c2119c2c2e886448f83bdf37bdb8bda39156040e4f6afab962aa9cc0d

Merge #750: [RPC] Add mediantime to getblock/getblockheader output

14c2d6a [RPC] Add mediantime to getblock/getblockheader output (Fuzzbawls)

Tree-SHA512: a950428f78eb027b9ea0570504d61983962374e0668514233528bba549da3156d173356a46d05a6ca786aae422d1b10f256be38bccba078f5d272d4d455a0916

Merge #751: [RPC] Show the configured/set txfee in getwalletinfo

02f330a [RPC] Show the configured/set txfee in getwalletinfo (Fuzzbawls)

Tree-SHA512: bb6e56c2d2b72d84e9fee9da817368368f5b46622566019d3e8ca95762db82718ef88136955ba285c63a7ff8f4d8259762f8b42f608222ff0c473304ccabca70

Merge #749: [Build] Update genbuild.sh script

3eef1b9 [Build] Update genbuild.sh script (Fuzzbawls)

Tree-SHA512: b94abc47dd8effbefd40c933d33053ff7a0ec7ca86b17fb98c0ea9c7a09afee7c6a9facf59e57d0f89245f09d3312b301178404e18c30ec651308be23ddbaad6

Merge #760: [RPC] Show BIP65 soft-fork progress in getblockchaininfo

e723d969c2 [RPC] Show BIP65 soft-fork progress in getblockchaininfo (Fuzzbawls)

Tree-SHA512: e8a214bd48f567e16d6eb3f0634ff7907802a7935ee60e89ffea59f4a00a445fa2735246048ed762e488d31bc5b030c50b6ecab9bde855247b858f12b8be6ce6

Merge #752: [Build] Fix Thread Safety Analysis Warnings

db478c0 Ust std threading in sync.{h,cpp} (Fuzzbawls)
19ac6d8 Remove Boost dependency from the httpserver (Fuzzbawls)
3e22c85 Miner: use std methods instead of boost for timing conditions (Fuzzbawls)

Tree-SHA512: f6ba63f8885791cc7a5bc0bf1feb88acba6b1e1832005d76191c2ab98cdce1819becf2941af9e01537be189aa81cddefe1637dde2225fcf9deedca7d661553ca

[#1] Rebase from upstream

Fix inaptly named PoK variable

rebase fixes

...
binarysculptor pushed a commit to binarysculptor/wallet that referenced this pull request Dec 31, 2018
Merge #688: [Zerocoin]  RPC import/export zerocoins private key standardized + Cleanup in AccPoK and SoK to avoid redundant calculations.

eb73e16 aM_4 times aR stored (furszy)
68dc475 remove useless last loop round vResult serialization (furszy)
62b5f05 AccPoK, avoid do the same calculations many times (furszy)
111eb7e unneccessary mint (furszy)
a0cfc25 import and export zerocoin, private key format standardized (furszy)

Tree-SHA512: 5674108ad54a7ef2e613c28f4c40188bdd843075772dd87d263c2978bd407bd167380016852c737389a2f01831f9b586d33c9aa9f4c42fe2a6896e5e11e5033e

Merge #730:  [Wallet] fix bug with fWalletUnlockAnonymizeOnly flag setting

eb08890 [RPC] fix typo in 'walletpassphrase' help (random-zebra)
06254d5 fix bug with fWalletUnlockAnonymizeOnly flag setting (random-zebra)

Tree-SHA512: af6eed612d259421e863511b7e0a8906187f613c92b779975e9becc4e43812fa2fdb591dbfab48f9968d3031e9e0bf7539d53d0cf3b5e32c03adcf2fbf13729b

Merge #725: [UI] Sort numbers correctly in zPIV and coin control dialogs

da28a5c [GUI] subclass QTreeWidgetItem for zpivcointrol and coincontrol (random-zebra)
cf9096c [UI] Sort numbers correctly in zPIV control dialog (warrows)

Tree-SHA512: 9fb4edad15b8ba3eeebd8ccd14c5a306b90293c0b6984f8a7d7484a827d4e2d4cce43867d38e02c9e8991f8857058f821d41648e794829c8e00238513d30973d

Merge #724: [RPC] Ensure that a numeric is being passed to AmmountFromValue

1f56fba [RPC] Ensure that a numeric is being passed to AmmountFromValue (Fuzzbawls)

Tree-SHA512: 3adf9c60ed5f7474b89527054744f55e60584a3a56ddc6977a2e35919119c902e9c2f4a62e841410b871f778530c9586dbe59fc3523747d82d37d27d76e92511

Merge #731: [zPIV] Fix bignum overloads when using OpenSSL

69459a3 [zPIV] Fix bignum overloads when using OpenSSL (Fuzzbawls)

Tree-SHA512: 54aa584ea41524d995fa4ddb63c57f2a5c331f278bf77ccea698ef135d877ac0b3a5695a7430373d194fd87544606e423f588e28cef7603e0e8c4d5b164bd33c

Merge #733: [GUI] Hide orphans

960137a [GUI] Add option to hide orphans in overview and txlist (random-zebra)

Tree-SHA512: d9c6b2cb073d9352b910bef3089a755e8991618b7f427e4e4ddfb48364103d5c63b65197d16f405b58aac7ab5d3ea00a886d51e162965d809346074d065d75ff

Merge #736: [Utils] Update linters for python3

e66e20e [Utils] Update linters for python3 (Fuzzbawls)

Tree-SHA512: 8c9bfa3bb8464ba8acbc1a9997dca656ca86f776b9eacc23aad45d2c11c64bd5a611ecd51778bd20d1814b5573d6b9a0d994e7b5105bd5f9a90b4ff5534768ba

Merge #726: [RPC] include mints metadata in 'listmintedzerocoins' output

864aef8 [RPC] include mints metadata in 'listmintedzerocoins' output (random-zebra)

Tree-SHA512: bc19fbf7af754d4616f658668e1b4ad351e8e97b29038ab02134de4f589222e3f30f5b2ccf8b69efa00a6da56f02e5f87eb12f9ca71afc8047040c6bde70d843

Merge #727: [RPC] Add 'spendzerocoinmints' RPC call

f8ec8e0 [RPC] add 'spendzerocoinmints' RPC call (random-zebra)

Tree-SHA512: 95933d5f4a2de70cf9b0b29b3ed922c39b12059f08a66cd7ddfd60a8f21274fc3ef3f76b6fc70c87768b137b78fccd0f59d22b99a99b53c3d77fc20a6045384f

Merge #729: [RPC] Fix RPCTimerInterface

0053876 [RPC]: Fix RPCTimerInterface ordering issue (bitcoin/bitcoin#7317) (random-zebra)

Tree-SHA512: 0e3b5ea32d48d824e37fff701c420e835c1da011cfe10302d47773341ca303ad680b85b2e6d505cda6d29be3e1c0964ee5880f66a67b1aed07aa510ba6fdc312

Merge #737: [Refactor] Remove 'boost::lexical_cast<>'

a1a8fb9 Replace 'boost::lexical_cast<std::int>' with 'std::stoi' (random-zebra)
6c7b8ae Replace 'const boost::bad_lexical_cast' with 'std::invalid_argument' (random-zebra)
e89923f Replace 'boost::lexical_cast<std::string>' with 'std::to_string' (random-zebra)

Tree-SHA512: 37900a8cadacab61d31872d55c8cb1a654a4f395ffd51292a370d9fb15f313c86bbb5c15f3278394a59ae523341b94a0d091167283e4e87d5d41287502917373

Merge #740: [Net] Pull uacomment in from upstream

ec8f69a [Net] Pull uacomment in from upstream (Fuzzbawls)

Tree-SHA512: b6f30a711967af188dd4aab42338d161c5ee587eb36a2a3625be81c32c8b61ce03a19f5485b3b3cbc945f903b2eb32db6a3b081c2ef3e9561aa538583cb4713a

Merge #741: [GUI] Sort by 'data' in zPIV and coin control dialogs

8b87ad3 [GUI] introduce CCoinCointrolWidgetItem and CZPivControlWidgetItem (random-zebra)

Tree-SHA512: 59f8fc92c454ad3fa07f49f8bd1b3313e60b60eff413723ae16d6a12b440416a7db89d5f9f20a8813f9d23574eeeaba635f84bb9863457aae5dc0818d9971512

Merge #742: [RPC] Add masternode's pubkey to listmasternodes RPC

132166e Add masternode's pubkey to listmasternodes RPC (presstab)

Tree-SHA512: c8d7a50aa275b0da845c86f942fe49f2e1974983bf9a9553cef6897760b737c07950ba828196ebaa36f6992593085695fe814923b39b7bbf410533eb51ebe9cd

Merge #743: [Refactor] remove CPubKey::GetHex

63daf40 [Refactor] remove CPubKey::GetHex (random-zebra)

Tree-SHA512: 360902e7e54c296c73de233f2fdb3b057916141c54d12f594a9a0c84e75cc8d554cef16c2119c2c2e886448f83bdf37bdb8bda39156040e4f6afab962aa9cc0d

Merge #750: [RPC] Add mediantime to getblock/getblockheader output

14c2d6a [RPC] Add mediantime to getblock/getblockheader output (Fuzzbawls)

Tree-SHA512: a950428f78eb027b9ea0570504d61983962374e0668514233528bba549da3156d173356a46d05a6ca786aae422d1b10f256be38bccba078f5d272d4d455a0916

Merge #751: [RPC] Show the configured/set txfee in getwalletinfo

02f330a [RPC] Show the configured/set txfee in getwalletinfo (Fuzzbawls)

Tree-SHA512: bb6e56c2d2b72d84e9fee9da817368368f5b46622566019d3e8ca95762db82718ef88136955ba285c63a7ff8f4d8259762f8b42f608222ff0c473304ccabca70

Merge #749: [Build] Update genbuild.sh script

3eef1b9 [Build] Update genbuild.sh script (Fuzzbawls)

Tree-SHA512: b94abc47dd8effbefd40c933d33053ff7a0ec7ca86b17fb98c0ea9c7a09afee7c6a9facf59e57d0f89245f09d3312b301178404e18c30ec651308be23ddbaad6

Merge #760: [RPC] Show BIP65 soft-fork progress in getblockchaininfo

e723d969c2 [RPC] Show BIP65 soft-fork progress in getblockchaininfo (Fuzzbawls)

Tree-SHA512: e8a214bd48f567e16d6eb3f0634ff7907802a7935ee60e89ffea59f4a00a445fa2735246048ed762e488d31bc5b030c50b6ecab9bde855247b858f12b8be6ce6

Merge #752: [Build] Fix Thread Safety Analysis Warnings

db478c0 Ust std threading in sync.{h,cpp} (Fuzzbawls)
19ac6d8 Remove Boost dependency from the httpserver (Fuzzbawls)
3e22c85 Miner: use std methods instead of boost for timing conditions (Fuzzbawls)

Tree-SHA512: f6ba63f8885791cc7a5bc0bf1feb88acba6b1e1832005d76191c2ab98cdce1819becf2941af9e01537be189aa81cddefe1637dde2225fcf9deedca7d661553ca
binarysculptor pushed a commit to binarysculptor/wallet that referenced this pull request Dec 31, 2018
Merge #688: [Zerocoin]  RPC import/export zerocoins private key standardized + Cleanup in AccPoK and SoK to avoid redundant calculations.

eb73e16 aM_4 times aR stored (furszy)
68dc475 remove useless last loop round vResult serialization (furszy)
62b5f05 AccPoK, avoid do the same calculations many times (furszy)
111eb7e unneccessary mint (furszy)
a0cfc25 import and export zerocoin, private key format standardized (furszy)

Tree-SHA512: 5674108ad54a7ef2e613c28f4c40188bdd843075772dd87d263c2978bd407bd167380016852c737389a2f01831f9b586d33c9aa9f4c42fe2a6896e5e11e5033e

Merge #730:  [Wallet] fix bug with fWalletUnlockAnonymizeOnly flag setting

eb08890 [RPC] fix typo in 'walletpassphrase' help (random-zebra)
06254d5 fix bug with fWalletUnlockAnonymizeOnly flag setting (random-zebra)

Tree-SHA512: af6eed612d259421e863511b7e0a8906187f613c92b779975e9becc4e43812fa2fdb591dbfab48f9968d3031e9e0bf7539d53d0cf3b5e32c03adcf2fbf13729b

Merge #725: [UI] Sort numbers correctly in zPIV and coin control dialogs

da28a5c [GUI] subclass QTreeWidgetItem for zpivcointrol and coincontrol (random-zebra)
cf9096c [UI] Sort numbers correctly in zPIV control dialog (warrows)

Tree-SHA512: 9fb4edad15b8ba3eeebd8ccd14c5a306b90293c0b6984f8a7d7484a827d4e2d4cce43867d38e02c9e8991f8857058f821d41648e794829c8e00238513d30973d

Merge #724: [RPC] Ensure that a numeric is being passed to AmmountFromValue

1f56fba [RPC] Ensure that a numeric is being passed to AmmountFromValue (Fuzzbawls)

Tree-SHA512: 3adf9c60ed5f7474b89527054744f55e60584a3a56ddc6977a2e35919119c902e9c2f4a62e841410b871f778530c9586dbe59fc3523747d82d37d27d76e92511

Merge #731: [zPIV] Fix bignum overloads when using OpenSSL

69459a3 [zPIV] Fix bignum overloads when using OpenSSL (Fuzzbawls)

Tree-SHA512: 54aa584ea41524d995fa4ddb63c57f2a5c331f278bf77ccea698ef135d877ac0b3a5695a7430373d194fd87544606e423f588e28cef7603e0e8c4d5b164bd33c

Merge #733: [GUI] Hide orphans

960137a [GUI] Add option to hide orphans in overview and txlist (random-zebra)

Tree-SHA512: d9c6b2cb073d9352b910bef3089a755e8991618b7f427e4e4ddfb48364103d5c63b65197d16f405b58aac7ab5d3ea00a886d51e162965d809346074d065d75ff

Merge #736: [Utils] Update linters for python3

e66e20e [Utils] Update linters for python3 (Fuzzbawls)

Tree-SHA512: 8c9bfa3bb8464ba8acbc1a9997dca656ca86f776b9eacc23aad45d2c11c64bd5a611ecd51778bd20d1814b5573d6b9a0d994e7b5105bd5f9a90b4ff5534768ba

Merge #726: [RPC] include mints metadata in 'listmintedzerocoins' output

864aef8 [RPC] include mints metadata in 'listmintedzerocoins' output (random-zebra)

Tree-SHA512: bc19fbf7af754d4616f658668e1b4ad351e8e97b29038ab02134de4f589222e3f30f5b2ccf8b69efa00a6da56f02e5f87eb12f9ca71afc8047040c6bde70d843

Merge #727: [RPC] Add 'spendzerocoinmints' RPC call

f8ec8e0 [RPC] add 'spendzerocoinmints' RPC call (random-zebra)

Tree-SHA512: 95933d5f4a2de70cf9b0b29b3ed922c39b12059f08a66cd7ddfd60a8f21274fc3ef3f76b6fc70c87768b137b78fccd0f59d22b99a99b53c3d77fc20a6045384f

Merge #729: [RPC] Fix RPCTimerInterface

0053876 [RPC]: Fix RPCTimerInterface ordering issue (bitcoin/bitcoin#7317) (random-zebra)

Tree-SHA512: 0e3b5ea32d48d824e37fff701c420e835c1da011cfe10302d47773341ca303ad680b85b2e6d505cda6d29be3e1c0964ee5880f66a67b1aed07aa510ba6fdc312

Merge #737: [Refactor] Remove 'boost::lexical_cast<>'

a1a8fb9 Replace 'boost::lexical_cast<std::int>' with 'std::stoi' (random-zebra)
6c7b8ae Replace 'const boost::bad_lexical_cast' with 'std::invalid_argument' (random-zebra)
e89923f Replace 'boost::lexical_cast<std::string>' with 'std::to_string' (random-zebra)

Tree-SHA512: 37900a8cadacab61d31872d55c8cb1a654a4f395ffd51292a370d9fb15f313c86bbb5c15f3278394a59ae523341b94a0d091167283e4e87d5d41287502917373

Merge #740: [Net] Pull uacomment in from upstream

ec8f69a [Net] Pull uacomment in from upstream (Fuzzbawls)

Tree-SHA512: b6f30a711967af188dd4aab42338d161c5ee587eb36a2a3625be81c32c8b61ce03a19f5485b3b3cbc945f903b2eb32db6a3b081c2ef3e9561aa538583cb4713a

Merge #741: [GUI] Sort by 'data' in zPIV and coin control dialogs

8b87ad3 [GUI] introduce CCoinCointrolWidgetItem and CZPivControlWidgetItem (random-zebra)

Tree-SHA512: 59f8fc92c454ad3fa07f49f8bd1b3313e60b60eff413723ae16d6a12b440416a7db89d5f9f20a8813f9d23574eeeaba635f84bb9863457aae5dc0818d9971512

Merge #742: [RPC] Add masternode's pubkey to listmasternodes RPC

132166e Add masternode's pubkey to listmasternodes RPC (presstab)

Tree-SHA512: c8d7a50aa275b0da845c86f942fe49f2e1974983bf9a9553cef6897760b737c07950ba828196ebaa36f6992593085695fe814923b39b7bbf410533eb51ebe9cd

Merge #743: [Refactor] remove CPubKey::GetHex

63daf40 [Refactor] remove CPubKey::GetHex (random-zebra)

Tree-SHA512: 360902e7e54c296c73de233f2fdb3b057916141c54d12f594a9a0c84e75cc8d554cef16c2119c2c2e886448f83bdf37bdb8bda39156040e4f6afab962aa9cc0d

Merge #750: [RPC] Add mediantime to getblock/getblockheader output

14c2d6a [RPC] Add mediantime to getblock/getblockheader output (Fuzzbawls)

Tree-SHA512: a950428f78eb027b9ea0570504d61983962374e0668514233528bba549da3156d173356a46d05a6ca786aae422d1b10f256be38bccba078f5d272d4d455a0916

Merge #751: [RPC] Show the configured/set txfee in getwalletinfo

02f330a [RPC] Show the configured/set txfee in getwalletinfo (Fuzzbawls)

Tree-SHA512: bb6e56c2d2b72d84e9fee9da817368368f5b46622566019d3e8ca95762db82718ef88136955ba285c63a7ff8f4d8259762f8b42f608222ff0c473304ccabca70

Merge #749: [Build] Update genbuild.sh script

3eef1b9 [Build] Update genbuild.sh script (Fuzzbawls)

Tree-SHA512: b94abc47dd8effbefd40c933d33053ff7a0ec7ca86b17fb98c0ea9c7a09afee7c6a9facf59e57d0f89245f09d3312b301178404e18c30ec651308be23ddbaad6

Merge #760: [RPC] Show BIP65 soft-fork progress in getblockchaininfo

e723d969c2 [RPC] Show BIP65 soft-fork progress in getblockchaininfo (Fuzzbawls)

Tree-SHA512: e8a214bd48f567e16d6eb3f0634ff7907802a7935ee60e89ffea59f4a00a445fa2735246048ed762e488d31bc5b030c50b6ecab9bde855247b858f12b8be6ce6

Merge #752: [Build] Fix Thread Safety Analysis Warnings

db478c0 Ust std threading in sync.{h,cpp} (Fuzzbawls)
19ac6d8 Remove Boost dependency from the httpserver (Fuzzbawls)
3e22c85 Miner: use std methods instead of boost for timing conditions (Fuzzbawls)

Tree-SHA512: f6ba63f8885791cc7a5bc0bf1feb88acba6b1e1832005d76191c2ab98cdce1819becf2941af9e01537be189aa81cddefe1637dde2225fcf9deedca7d661553ca
WagerrTor pushed a commit to wagerr/wagerr that referenced this pull request Jan 15, 2019
Stamek pushed a commit to nxboost/nxboost that referenced this pull request May 24, 2019
KabberryDev added a commit to KABBERRY/Kabberry-Coin that referenced this pull request Aug 25, 2019
Maciej007 added a commit to KABBERRY/Kabberry-Coin that referenced this pull request Aug 30, 2019
KabberryDev added a commit to KABBERRY/Kabberry-Coin that referenced this pull request Dec 14, 2019
Rebel36 added a commit to KABBERRY/Kabberry-Coin that referenced this pull request Dec 27, 2019
Stamek pushed a commit to Stamek/squorum that referenced this pull request Mar 15, 2020
wqking pushed a commit to wqking-temp/Vitae that referenced this pull request Apr 1, 2020
0053876 [RPC]: Fix RPCTimerInterface ordering issue (bitcoin/bitcoin#7317) (random-zebra)

Tree-SHA512: 0e3b5ea32d48d824e37fff701c420e835c1da011cfe10302d47773341ca303ad680b85b2e6d505cda6d29be3e1c0964ee5880f66a67b1aed07aa510ba6fdc312
2a5A1Ghu1 added a commit to VitaeTeam/Vitae that referenced this pull request Apr 8, 2020
* Simplify and document -custombackupthreshold

Also move -backuppath and -zpivbackuppath to more appropriate areas in
the help output.

# Conflicts:
#	src/init.cpp

* Cleanup log spam & add additional check to archive zpiv stake orphans.

My log was showing stake orphans getting stuck with the message "Found orphanded mint txid=.....". This is supposed to ignore it for the existing iteration and then clean it up next time ListMints() is called. This was not happening to stake transactions, so logic is added to archive the mint if it is coinstake.

* [Budget] Spread out voting on finalized budget for testnet also.

# Conflicts:
#	src/masternode-budget.cpp

* Updated fundamental node

* Display -backuppath, -zpivbackuppath, -custombackupthreshold in wallet repair menu

also fix segfault when permission denied since trying to create directories before checking permissions

* Guard against non-integer input for GUI's custombackupthreshold

* [Core] Initialzed seed for rand()   (trivial change)

* Change spork key validity period. Minor spork code refactor.

* Merge #583: [Docs] Update release notes for v3.1.0

53fc2ddc9 [Docs] Update release notes for v3.1.0 (Fuzzbawls)

Tree-SHA512: 2df4411b3376aea24956f8c3e602bece66c92f6f74488bb5a22005bfaa7fab272a93417a76c520aae26a29dd2714270b73f72f3e7922377410a870ee68669c1b

# Conflicts:
#	doc/release-notes.md

* Merge #584: [Doc] Update to zPIV staking and Thank you's

e46e49b Update to zPIV staking and Thank you's (Sieres)

Tree-SHA512: 21a43784106ea774e362c2b7d0ca7c1dfb8cb28460a9d7b56057c8becb68599b263510e6f838c441cef13835b722af49c497707b02c80f874432f8c5e7c2e8a6

# Conflicts:
#	doc/release-notes.md

* PIVX Core v3.1.0

# Conflicts:
#	configure.ac

* [Bug] Fix CMasternodeConfig::read

rebase from upstream. Windows doesn't initialize CService properly
during startup before the masternode.conf file is read.

# Conflicts:
#	src/masternodeconfig.cpp

* Updated fundamental node

* Fixed compile error

* Bump version to 3.1.0.1

Bugfix for Windows MN Controllers

* Merge #593: 3.1.0.2 backport

43f6f1b4d Add unit test for budget value. (presstab)
9ee7d98fc Update protocol to 70914. (presstab)
ebc452738 [Budget] Fix wrong budget amount (Mrs-X)

Tree-SHA512: 6d813ee5e9cc548ffd8b3c816f669a9b79a6b8118de73941fd3fc6d7be46ae2dbfa935d94d1b62c32c1700165ad5a637f87eeaa8cd36927d4d281193b9c84ada

# Conflicts:
#	src/version.h

* Bump version to 3.1.0.2

* Bump to 3.1.0.3

one-line change for `listtransactions`, this won't be a full release
with gitian builds, but a tag that exchanges/services can use as a
fixed-point reference if they need `listtransactions` compatibility.

* Merge #584: [Doc] Update to zPIV staking and Thank you's

e46e49b Update to zPIV staking and Thank you's (Sieres)

Tree-SHA512: 21a43784106ea774e362c2b7d0ca7c1dfb8cb28460a9d7b56057c8becb68599b263510e6f838c441cef13835b722af49c497707b02c80f874432f8c5e7c2e8a6

# Conflicts:
#	doc/release-notes.md

* Merge #585: [Doc] Change aarch assert sign output folder

a810714 [Doc] Change aarch assert sign output folder (Warrows)

Tree-SHA512: 1b454a87f526ec8edf96f28952f4dccce444bbedd7512a21188d155ab5e57e494d8306529eccc0a280417895dc0e4b7718a233b883cfcffd84fd89f5c9d4e280

# Conflicts:
#	doc/release-process.md

* Merge #595: [Tests] Fix chain ordering in budget tests

3a6b152 [Tests] Fix chain ordering in budget tests (Fuzzbawls)

Tree-SHA512: c94c7511d088bffc9568045b48b5fac8f10cceb4561e1d3a58fda3cb64227aee163280e9ad553157b206bd36257f516c34c697e8df4eeea153ffc8a44753a17a

* Merge #596: [Build] Bump master to 3.1.99

5d73f63 [Build] Bump master to 3.1.99 (Fuzzbawls)

Tree-SHA512: 7d421685e1f3b90dfc4f536b679436f0d8bbd82614996aa7e76541ff9ad572e729063fb699d70778ea3f4acb2576713ebd3bbb49966d8e82a79945723419b256

# Conflicts:
#	configure.ac
#	contrib/gitian-descriptors/gitian-aarch64.yml
#	contrib/gitian-descriptors/gitian-linux.yml
#	contrib/gitian-descriptors/gitian-osx.yml
#	contrib/gitian-descriptors/gitian-win.yml

* Merge #597: [Wallet] Write new transactions to wtxOrdered properly

b2fdbbf64 [Wallet] Write new transactions to wtxOrdered properly (Fuzzbawls)

Tree-SHA512: b0bd54c9bd7fb44c18d7d4d84213b96b48dc22b35825c0a0f268b3f99086e8beeea7de5aed07cc575ee7dae0ce095e0438eb7e89454bae54551478ea5f81661d

* [Refactor] Delete secp256k1 folder for subtreefication

# Conflicts:
#	src/secp256k1/.gitignore
#	src/secp256k1/.travis.yml
#	src/secp256k1/COPYING
#	src/secp256k1/Makefile.am
#	src/secp256k1/README.md
#	src/secp256k1/TODO
#	src/secp256k1/configure.ac
#	src/secp256k1/include/secp256k1.h
#	src/secp256k1/libsecp256k1.pc.in
#	src/secp256k1/obj/.gitignore
#	src/secp256k1/src/bench_inv.c
#	src/secp256k1/src/bench_sign.c
#	src/secp256k1/src/bench_verify.c
#	src/secp256k1/src/ecdsa.h
#	src/secp256k1/src/ecdsa_impl.h
#	src/secp256k1/src/eckey.h
#	src/secp256k1/src/eckey_impl.h
#	src/secp256k1/src/ecmult.h
#	src/secp256k1/src/ecmult_gen.h
#	src/secp256k1/src/ecmult_gen_impl.h
#	src/secp256k1/src/ecmult_impl.h
#	src/secp256k1/src/field.h
#	src/secp256k1/src/field_10x26.h
#	src/secp256k1/src/field_10x26_impl.h
#	src/secp256k1/src/field_5x52.h
#	src/secp256k1/src/field_5x52_asm.asm
#	src/secp256k1/src/field_5x52_asm_impl.h
#	src/secp256k1/src/field_5x52_impl.h
#	src/secp256k1/src/field_5x52_int128_impl.h
#	src/secp256k1/src/field_gmp.h
#	src/secp256k1/src/field_gmp_impl.h
#	src/secp256k1/src/field_impl.h
#	src/secp256k1/src/group.h
#	src/secp256k1/src/group_impl.h
#	src/secp256k1/src/java/org/bitcoin/NativeSecp256k1.java
#	src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.c
#	src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.h
#	src/secp256k1/src/num.h
#	src/secp256k1/src/num_gmp.h
#	src/secp256k1/src/num_gmp_impl.h
#	src/secp256k1/src/num_impl.h
#	src/secp256k1/src/scalar.h
#	src/secp256k1/src/scalar_4x64.h
#	src/secp256k1/src/scalar_4x64_impl.h
#	src/secp256k1/src/scalar_8x32.h
#	src/secp256k1/src/scalar_8x32_impl.h
#	src/secp256k1/src/scalar_impl.h
#	src/secp256k1/src/secp256k1.c
#	src/secp256k1/src/testrand.h
#	src/secp256k1/src/testrand_impl.h
#	src/secp256k1/src/tests.c
#	src/secp256k1/src/util.h

* Merge commit '8a901f93d505af3516353837600fd71a0c53a692' as 'src/secp256k1'

* [Crypto] Switch from openssl to secp256k1 for consensus

[Refactoring] Moved and removed some stuff
-Removed duplicated arith uint files
-Removed unused variables
-Move keystore impls to .cpp instead of .h
-Removed useless function in key.cpp
[Crypto] fix bip38 compilation for latest libsecp256k1
[Compilation] Change compilation and some code to use libsec instead of sslcrypto
[Crypto] Update keys to comply with latest secp256k1 lib

# Conflicts:
#	src/Makefile.am
#	src/arith_uint256.cpp
#	src/arith_uint256.h
#	src/eccryptoverify.cpp
#	src/eccryptoverify.h
#	src/ecwrapper.cpp
#	src/ecwrapper.h
#	src/key.cpp
#	src/key.h
#	src/pubkey.cpp
#	src/pubkey.h
#	src/uint512.h

* [Tests] Add new auto generated script tests

* [Crypto] Bring back function CKey.SetPrivKey for zPIV

* Fixed compile error

* [Crypto] Add ctx initialisation for bip38

* [Tests] Fix chain ordering in budget tests

check testnet params first, then check mainnet so as to not interfere
with subsequent unit tests that rely on mainnet params.

Also clean up include ordering.

Github-Pull: #595
Rebased-From: 3a6b1523918783e3983a526e2b2bae4f2b939d9b

* Only enable/disable PrivacyDialog zPIV elements if needed.

Currently the zPIV buttons are constantly updated to enabled or disabled even if they are already in the correct state.

Github-Pull: #600
Rebased-From: 2b76f3183ca202c3f00e1e74669e7ce4d27f93e5

# Conflicts:
#	src/qt/privacydialog.cpp

* Fix spending for v1 zPIV created before block 1050020.

The transition to v2 zPIV and reset of the accumulators caused blocks 1050000 - 1050010 to be accumulated twice. This was causing many v1 zPIV to not create valid witnesses. This problem is fixed by double accumulating blocks 1050000-1050010 when creating the witness.

Github-Pull: #603
Rebased-From: abee3d97893cd3bc549256b24308f6df1ce91f3e

* Add getaccumulatorvalues RPC.

Return the accumulator values associated with a particular block height.

Github-Pull: #603
Rebased-From: 8a6d425672886dd82021d1c9f0dff61fe50441f8

* Remove log spam and ensure proper zpiv version is used.

Github-Pull: #603
Rebased-From: ccf6c77df0ee498825c693b0422ac1e5c0ea54e6

# Conflicts:
#	src/wallet.cpp

* [GUI] Fix wrongly displayed balance on Overview tab

Github-Pull: #598
Rebased-From: 60308773b4a4cc2445ef4e5fce225fba614844be

# Conflicts:
#	src/qt/overviewpage.cpp

* Fixed Multisend dialog to show settings properly

Multisend will display a message if it has only been enabled for masternodes and if its enabled for both (Displaying this didnt work if multisend was only enabled for masternodes)
Github-Pull: #580
Rebased-From: 40baa7d141b715d665b8a10d7b7aae33917fc51b

# Conflicts:
#	src/qt/multisenddialog.cpp

* Update multisenddialog.cpp
Github-Pull: #580
Rebased-From: 8dca829e7ccad4c9fba3a015c595c8cdc2fe2a64

# Conflicts:
#	src/qt/multisenddialog.cpp

* [Build] Remove unnecessary BOOST dependency

Github-Pull: #605
Rebased-From: da3a6a5954ebd38e947041bcde86ae8512fd62d7

* [Budget] Make sorting of finalized budgets deterministic

Github-Pull: #608
Rebased-From: 93e637f216c722d6c0f1a099ce38fa0b810b8afa

* Updated fundamental node

* Remove zPIV code from main.cpp

Github-Pull: #609
Rebased-From: 873ef19fc0dd754bc127ff6f94a2ddec650f06d7

# Conflicts:
#	src/Makefile.am

* Renamed zpivchain to zvitchain

* Fixed compile error

* [Output] Properly log reason(s) for increasing a peer's DoS score.

Many of the MN related DoS checks had their log messages output only if
the client was running in debug mode, leading to unexplained peer bans.

Github-Pull: #611
Rebased-From: fe14f5ffa61738da1ee66bd44ad5a5e82de5b7ff

# Conflicts:
#	src/masternode-budget.cpp
#	src/masternodeman.cpp

* [Build] Make sure Boost headers are included for libzerocoin

Custom boost locations not using pkg_config can result in a header
include not being found when compiling the libzerocoin library. This
quick fix ensures that the `BOOST_CPPFLAGS` are explicitely included.

Github-Pull: #622
Rebased-From: 811785c64c87abca0ccfc46dc77cf935dd99c65e

# Conflicts:
#	src/Makefile.am

* Update zPIV stake set more frequently.

Github-Pull: #617
Rebased-From: 355e2d36aabe4abbd768d79659e2b66d111ed6e8

* Lower stake hashdrift to 30 seconds.

Lower the hash drift which should reduce the amount of orphans.

Github-Pull: #617
Rebased-From: 4c862f2ee12af326d3a6886ed7be6c2ebe3b7e28

* [UI] Remove useless help button from QT dialogs

Github-Pull: #629
Rebased-From: 4dc636c09bd7964d5ac3fc06429ad0e385e6bef4

# Conflicts:
#	src/qt/askpassphrasedialog.cpp
#	src/qt/zVitcontroldialog.cpp

* Merge #521: [GUI] Make "For anonymization and staking only" checked by default

4e5b73e [GUI] Make "For anonymization and staking only" checked by default (Mrs-X)

Tree-SHA512: 53d5aa663269efdb82cb2d8961f2eae4aebc03a6d96d15d990b357385584e365935f012eb9410b81de891a1d1ed75fbfe88937b2e87df12db148b1d6e3c015a5

# Conflicts:
#	src/qt/askpassphrasedialog.cpp
#	src/qt/masternodelist.cpp
#	src/qt/walletview.h

* Fixed compile error

* [Wallet] Add some LOCK to avoid crash

Github-Pull: #625
Rebased-From: ed23d0d62054156e0c2cb632fecbd65588c50e8c

* [Qt] Show progress percent for zpiv reindex operations

`-reindexaccumulators` and `-reindexzerocoin` can take a considerable
time to complete depending on system hardware. Lets show a progress percent
 similar to `VerifyDB()` on the splashscreen.

Github-Pull: #612
Rebased-From: 48e502aa2e9a22911f92eb0e5ea9422c6facf4c4

# Conflicts:
#	src/main.cpp

* Guard against division by zero for reindex zerocoin/accumulators

in the event that the local chainActive is equal or below that of the
relevant zerocoin block heights, there is nothing to do, so bypass
the internal process.

Github-Pull: #612
Rebased-From: bed79e29c2adfc4ed0c7e73f2b78f615e1f51385

# Conflicts:
#	src/main.cpp

* Move ReindexAccumulators() call to be inside parent conditional

Not much point in checking if the listAccCheckpointsNoDB list is empty
outside of when the wallet is started using `-reindexaccumulators`, as
it is always empty outside of that case.

Github-Pull: #612
Rebased-From: 5127486481e10fc00a9e4d73a9e0bb75e2927305

# Conflicts:
#	src/init.cpp

* [Travis] Add separate job to check doc/logprint/subtree

Break out a new job to do the basic linting that check-dock.py and
logprint-scanner.py did.

Also add new scripts to check the sanity of
any git subtrees and to check that new pull requests don't contain any
trailing whitespace.

Also, remove the outdated slack notification callback

Github-Pull: #639
Rebased-From: 6f695b5e01981f70b9e7fa4ecfc7678d90f511d0

# Conflicts:
#	.travis.yml

* [Main] Write to the zerocoinDB in batches

instead of using a separate write operation for each and every bit of
data that needs to be flushed to disk, utilize leveldb's batch writing
capability.

Github-Pull: #636
Rebased-From: cd672cdd15cf096ab3f65978ca53e9cd5ddbba3b

* Remove unnecessary whitespaces

Github-Pull: #646
Rebased-From: a5542592091f9f6e599bffd614f84a4b5c2481d9

# Conflicts:
#	src/qt/privacydialog.cpp

* [Utils] Add copyright header to logprint-scanner.py

Github-Pull: #649
Rebased-From: 79d618fdfb5d372f84c9e8fb0d2ab382f97a43ad

* [Doc] Change aarch assert sign output folder
Github-Pull: #585
Rebased-From: a810714d00b2c7a94e2583b96f4f59eac9cf0801

# Conflicts:
#	doc/release-process.md

* Check whether tx is in chain in ContextualCheckZerocoinMint().

Github-Pull: #610
Rebased-From: c4141aa45f4aac77c5ef56ba8e70abef9859d208

* Merge #651: [Doc] Release notes for v3.1.1

6bdef7ad2 [Doc] Release notes for v3.1.1 (Fuzzbawls)

Tree-SHA512: 8fb6c3ef52064b5542c5acdd2b93165fd2f1054b9e2ba607fcdfde3c5c4bbd6e6b8f05ac2fff53e97791c23be6366d60af1957e6e76786daecad591d3d4f8f9b

# Conflicts:
#	doc/release-notes.md

* Bump version to 3.1.1

# Conflicts:
#	configure.ac

* Fixed coin name

* Fixed coin name

* Fixed coin name

* Fixed coin name

* Fixed coin name

* Fixed coin name

* Fixed wrongly replaced coin names

* Update Nomenclature

CzPIVWallet to CzVITWallet

* More Nomenclature Fixes

CzPIVWallet to CzVITTracker

* Fixed compile error

* Merge #653: #642 change COINBASE_MATURITY to Params().COINBASE_MATURITY()

a28ab6b #642 change COINBASE_MATURITY to Params().COINBASE_MATURITY() (Alko89)

Tree-SHA512: 6aae8a78998fb4e5d850a4c5d97de236c7212e0168329c5fb930efe22ee9d16c233957871c2d7a5cdfd67b28695bd1b31f06a4a99af411bafb362d74bc917202

* Merge #668: [Qt] Clean up Multisend Dialog UI

34006fe Comment/Whitespace/nullptr cleanup (Fuzzbawls)
f7e5ebf Remove useless returns (Fuzzbawls)
f5e9a68 Add proper translation functions for user facing strings (Fuzzbawls)
1ced6fd Clean up header includes (Fuzzbawls)
0931ae7 Remove boost dependency (Fuzzbawls)
e31c007 Remove unnecessary namespace declarations (Fuzzbawls)

Tree-SHA512: 8a7f3df2a9f55b39ea678ec1a917b421b9507a63cafa63f00236670a16b35414e8ef1ca1e1712a0329da6b3aff15f53bc26180562feb269e83202340d67bc60b

# Conflicts:
#	src/qt/multisenddialog.cpp
#	src/qt/multisenddialog.h

* Fixed compile error

* Merge #656: [Wallet] Fix double locked coin when wallet and MN are on same machine

9aaae52 fix double locked coin when wallet and MN are on same machine (Tim Uy)

Tree-SHA512: c7690e88c1b13a5c934699068c0579a5ecb0a7e3c9b4f5834e25745a948459990275d2a7ffc50a26a4171cc39a3e5b9ed86750a92c99ad95b76212c891bcc41e

# Conflicts:
#	src/wallet.cpp

* Merge #675: [Qt] SwiftX - intuitiveness

a4428c8 GUI - sendcoins dialog: fee / SwiftX - intuitiveness (random-zebra)

Tree-SHA512: 224dcc3bb5f818f8e3512c076650bd29968d338c52045b9d6fdf93c1bd8c12aa10ef474c59b0b1459693029c20fc7f8d556d58bbf18a3f18d19086bb0de5192f

# Conflicts:
#	src/qt/forms/sendcoinsdialog.ui
#	src/qt/sendcoinsdialog.cpp

* Merge #680: [Qt] Privacy dialog: hide/show denominations

cffca03 GUI privacy Dialog: hide/show denominations (random-zebra)

Tree-SHA512: 3294addc8ad3664b58219cb215d50030dcc2e4e6935de6104335c88526976786388202510946ed8cf56b66700ce880b3bf9096de0a910a1871acdf98600d0726

# Conflicts:
#	src/qt/privacydialog.cpp
#	src/qt/privacydialog.h

* Merge #655: [Qt] Fix PIV balances on overview page

2c2988b416 Simplify watch only balance display logic (Fuzzbawls)
45a1537a1b Remove trailing whitespace from overviewpage.cpp (Fuzzbawls)
04435126ec Improve code readability and logic for zero-balance hiding (Fuzzbawls)
142bbc2e8d [Qt] Fix PIV balances on overview page (Fuzzbawls)

Tree-SHA512: 52f0cabadad0eab9455141dbaecb4cdde9e578c3ec5c1607b78b13568aef9a61964e7f9889528e2c298ed6143373a12f1bef23438d61683909d81a927b1b17df

# Conflicts:
#	src/qt/overviewpage.cpp

* Merge #667: [Zerocoin] Clean zerocoin bignum file

64eafeaf5a [Indentation] Replace tabs with spaces in libzerocoin Accumulator files (warrows)
383468e134 [Refactor] removed unused Bignum typedef (warrows)
2e606dddd5 [Cleaning] Remove unused get/setcompact functions from zerocoin bignum (warrows)

Tree-SHA512: 4cce2edbf51222000894a7dd3aead6d95b948d67ac0936b49fdceb69d5fc5c0f4d0e1f57a07c191195a312a9b75e3f2b0531b1b77022822f97c88cb0b923e66a

* Merge #671: [Build] Update to latest leveldb

85c2a28 travis: run subtree checks for leveldb (Fuzzbawls)
1d99c21 build: update build system for new leveldb (Fuzzbawls)
4f5b53d Squashed 'src/leveldb/' content from commit 64052c76c (Fuzzbawls)
d3e48bd Remove leveldb path in prep for subtree init (Fuzzbawls)

Tree-SHA512: de3d6fc36393866c8aefde550bb015e6de1c77684653d2e140ff90d638aa3d47c63b12f826fa474cc004f888d76c4108c4516f99cb6c77afb40336ea8f631cfa

# Conflicts:
#	configure.ac
#	src/Makefile.am
#	src/Makefile.qt.include
#	src/Makefile.qttest.include
#	src/Makefile.test.include
#	src/leveldb/README
#	src/leveldb/doc/doc.css
#	src/leveldb/doc/impl.html
#	src/leveldb/doc/index.html
#	src/leveldb/doc/log_format.txt
#	src/leveldb/doc/table_format.txt

* Merge #697: [Trivial] Remove Redundant Declarations

0456fe2 Remove redundant function declarations (Fuzzbawls)

Tree-SHA512: c225a7446f50da179656b2eb254cb1a2cd2c0be79831fc5843536cd3f2247f367bf206706b493abafeb237dc679731692df61b26cd0cf2e610defd4d025eb41d

* Merge #699: [Refactor] Use references instead of copies in for loops

b0aeab0 [Refactor] Use references instead of copies in for loops (Fuzzbawls)

Tree-SHA512: d1e418888bcc6b72674f8f5f14fbca47f35a5becfcd66873c5632b29ccee3098cf58f01a664290320998994f75966cb2f19da146ee777da17509de79fc886be3

# Conflicts:
#	src/qt/clientmodel.cpp

* Fixed compile error

* Merge #698: [Qt] Remove Qt4 build support & code fallbacks

bc1fb933b1 gui: Remove QT_VERSION fallbacks for Qt < 5 (Wladimir J. van der Laan)
cd754957c6 build: Build system changes to support only Qt5 (Wladimir J. van der Laan)

Tree-SHA512: 8de2e99190e125285c8e6d69164defa4b4441b761befa3faaf96f77eaae2fa07e345673d28b54784a9c1b0a491a5fcf6260e7583b04eec0970af4fd08cf57d8a

# Conflicts:
#	build-aux/m4/bitcoin_qt.m4
#	src/qt/guiutil.cpp
#	src/qt/openuridialog.cpp
#	src/qt/vitae.cpp

* Merge #703: [Docs] Add missing automake dependency

a88b2aa40a [Docu] Add missing automake dependency (Mrs-X)

Tree-SHA512: 95b3d47afeeb52b50f5d0026bf3b7425864b9bc9cb698f5e45bf32770f7a5ca19255a36d8f226af8d86dfe4372c9fa6ac09c2b8e6476a51c1fc1d7f6eeae7465

* Merge #693: [UI] Add address to the payment request history

a993d56e22 [UI] Add address to the payment request history (warrows)

Tree-SHA512: 25e437e7323d57a9c550c89911fd1efb291c18f4778034b436ea6393a4fb6102b76d32e1cda5dc345943c5b75f08d841fd42cafc1caa7129447aa3dbfe288ca1

* Merge #677: [Qt] change colors for tx labels in history/overview

1d77b186b7 gui change colors for tx labels (random-zebra)

Tree-SHA512: 76185182c0e0997b4bc226e59ff9fd7012e74c50eead81247d5948656ef3f99ac7d8b8dc28c01d796638df3bf9a8d8e97b2755af7d8a1f7c6c4091f1b6f6a607

* Merge #708: [Build] Remove stale m4 file

6cf83ad [Build] Remove stale m4 file (Fuzzbawls)

Tree-SHA512: 89774b3969eb3a7455b71592881a1ee542c75bb21e7b917b1daa67303255e5918772c804d75328d1cde8bc60d20ed48f44463d0e2941857ffba0fb75b9e0d961

# Conflicts:
#	pkg.m4

* Fixed compile error

* Merge #706: [Build] Remove throw keywords in leveldb function signatures

ef26a15 Remove throw keywords in leveldb function signatures (Fuzzbawls)

Tree-SHA512: 707447ca5895fd13c8e91ab4c37ebe5fac67bf9480ee102e7aed18fe0042bd83d4479c1603de6979d0111e22d7b6174c5301e1131719fc2eb7a4a49451808a13

* Merge #683: [Qt] receivecoinsdialog - address control + clean UI

e5abd29 receivecoinsdialog: add button for Receiving Addresses (random-zebra)

Tree-SHA512: 2b26ebf81f0064d4feeb0d8967ea52c141cd0eb0354033c5ed92a7a0477f24b1dc2670e07bb08884572d50b5e92dcffd6ecd0156c9c3f800c1baa688ad3017b3

* Merge #711: [RPC] Don't allow backupwallet to overwrite the wallet-in-use

3158a8e [RPC]: Don't allow backupwallet to overwrite the wallet-in-use (Fuzzbawls)

Tree-SHA512: 7d76cfa07af4cec108d2f36859c44344439bb7ad31b83c6a8ef30790db7dbef2bd827eb520d41d7e1dfc47fa1ca41973978c21e7692b34bdb62335fa76b83904

* Merge #704: [Build] GCC-7 and glibc-2.27 back compat

f7cfcf7 Use IN6ADDR_ANY_INIT instead of in6addr_any (Fuzzbawls)
0063c1e GCC-7 and glibc-2.27 compat code (Chun Kuan Lee)

Tree-SHA512: 4a8522fc0c17447221b8515d3b606961279f1e29e41be1239e2b866c0983c0a57f0a76640afa85efcf0e676146ef48fd0d436432ab48cbe50efafde217012414

# Conflicts:
#	configure.ac
#	src/Makefile.am

* Fixed compile error

* Merge #688: [Zerocoin]  RPC import/export zerocoins private key standardized + Cleanup in AccPoK and SoK to avoid redundant calculations.

eb73e16 aM_4 times aR stored (furszy)
68dc475 remove useless last loop round vResult serialization (furszy)
62b5f05 AccPoK, avoid do the same calculations many times (furszy)
111eb7e unneccessary mint (furszy)
a0cfc25 import and export zerocoin, private key format standardized (furszy)

Tree-SHA512: 5674108ad54a7ef2e613c28f4c40188bdd843075772dd87d263c2978bd407bd167380016852c737389a2f01831f9b586d33c9aa9f4c42fe2a6896e5e11e5033e

* Merge #692: [Zerocoin] Remove explicit copy assignement operator from Accumulator

1524ecf [Zerocoin] Remove explicit copy assignement operator from Accumulator (warrows)

Tree-SHA512: f62cf2cfaf85b6a4aa3848e927d7fe09f31a23de558de709986a1f80803b3528d562aa797ffb548f95fbe7cd178b84de73ea02fce55dea008276b3f5284a6c29

* Merge #715: [Refactor] Remove GetCoinAge

c93bf2b [Refactor] Remove GetCoinAge (Fuzzbawls)

Tree-SHA512: 0a27a423a55e2ee3e5656139c9139fe7f40d659ce8538009ec104856b51c12333125f5a31f948669785be0621b77132c15b8349f2288b407a6899c5db700c98f

* Merge #719: [RPC] Fix verifychain

e2692dd [RPC] Fix verifychain (Fuzzbawls)

Tree-SHA512: e858d5c0907472eff031ff3de755c0853d9c5fe49346a3fbb76cdebffafb22190b36ca3c24e1bf87523ad7d9e6e1836c3849c4a2800f12a29612bb20b0ef4c7b

* Merge #720: [RPC] Sanitize walletpassphrase timeout argument

916d332 [RPC] Sanitize walletpassphrase timeout argument (Fuzzbawls)

Tree-SHA512: a12dc4bbd42a7e3460272883e8c618e26ecdc2349bac523aa1f1bc6722f393cc4dc89a66b4fbedcd5cff72eab8113b1bec43ba1c28819fb4c2f32a7c7a6f6cd4

* Merge #714: [UI] Add address field in receive tab

db51d53 [UI] Persist receive address through wallet restart (warrows)
5f7929f [UI] Change receive address upon receiving funds (warrows)
b10252b [UI] Add an address field to the receive form (warrows)

Tree-SHA512: f6ab8d1834a3fb5f5f8343395f1e960161a308e6bc5a8c9b8899cb4cf368b5511642dd1c89764a6d47fc0c85ac70a19a82d36fc23476c3fbe3422eb43c92ebbd

# Conflicts:
#	src/qt/forms/receivecoinsdialog.ui

* Merge #721: [RPC] Fix movecmd's help description to include amount

76d17e9 [RPC] Fix movecmd's help description to include amount (Fuzzbawls)

Tree-SHA512: ea74b97641b4fe31d906af7e9488003e348275f52586f6fa4af8915790344a080fb62d81a996950e14c1d425e6831acdfb05db46a7cf8f47e368e8f197058c2c

* Merge #722: [RPC] Add more verbosity to validateaddress

e3c624d [RPC] Add more verbosity to validateaddress (Fuzzbawls)

Tree-SHA512: 55e9d0766d528d0f4d94729bb2cbf6d2eca52fcfa31ca88520cf2e048fa129eb787b197b0308e399388c281f567b36cd4a541901251f6879c4e8560d5e581b8e

# Conflicts:
#	src/rpcmisc.cpp

* Merge #723: [RPC] Error when calling getreceivedbyaddress with non-wallet address

93b830f [RPC] Error when calling getreceivedbyaddress with non-wallet address (Fuzzbawls)

Tree-SHA512: fe1b5b6b6435690c5a336a108e99995d9bc0d39ed2ecd12d22ff2a4b9f141fba63dd2f8bdf9b09be3739dbbcf382eb3f9e629967566f8c18ac49f2b83c0431fe

# Conflicts:
#	src/rpcwallet.cpp

* Merge #724: [RPC] Ensure that a numeric is being passed to AmmountFromValue

1f56fba [RPC] Ensure that a numeric is being passed to AmmountFromValue (Fuzzbawls)

Tree-SHA512: 3adf9c60ed5f7474b89527054744f55e60584a3a56ddc6977a2e35919119c902e9c2f4a62e841410b871f778530c9586dbe59fc3523747d82d37d27d76e92511

* Merge #725: [UI] Sort numbers correctly in zPIV and coin control dialogs

da28a5c [GUI] subclass QTreeWidgetItem for zpivcointrol and coincontrol (random-zebra)
cf9096c [UI] Sort numbers correctly in zPIV control dialog (warrows)

Tree-SHA512: 9fb4edad15b8ba3eeebd8ccd14c5a306b90293c0b6984f8a7d7484a827d4e2d4cce43867d38e02c9e8991f8857058f821d41648e794829c8e00238513d30973d

* Merge #730:  [Wallet] fix bug with fWalletUnlockAnonymizeOnly flag setting

eb08890 [RPC] fix typo in 'walletpassphrase' help (random-zebra)
06254d5 fix bug with fWalletUnlockAnonymizeOnly flag setting (random-zebra)

Tree-SHA512: af6eed612d259421e863511b7e0a8906187f613c92b779975e9becc4e43812fa2fdb591dbfab48f9968d3031e9e0bf7539d53d0cf3b5e32c03adcf2fbf13729b

* Merge #731: [zPIV] Fix bignum overloads when using OpenSSL

69459a3 [zPIV] Fix bignum overloads when using OpenSSL (Fuzzbawls)

Tree-SHA512: 54aa584ea41524d995fa4ddb63c57f2a5c331f278bf77ccea698ef135d877ac0b3a5695a7430373d194fd87544606e423f588e28cef7603e0e8c4d5b164bd33c

# Conflicts:
#	src/libzerocoin/bignum.h

* Merge #734: [Staking] Ensure nCredit is correctly initialized in CreateCoinStake

7eea7d0 [Staking] Ensure nCredit is correctly initialized in CreateCoinStake (warrows)

Tree-SHA512: da9f87385f639424ec75ab697487249510a38ff4768703cdee80df063d035d8ac07274d612b195c081c6238a42d9a99f4d829fdf9144775afaa1de8a6b7b8e89

* Merge #735: [Qt] Stop using dummy strings in clientversion.cpp

cab33db Stop using dummy strings in clientversion (Fuzzbawls)

Tree-SHA512: 7513fc0580f3eba45c085fffd0bf682b947268773dc0bf440926012768dc30ef70ee1acd63b21a51250a72118ca780a62d22e387af1a5797ada2847638805a71

# Conflicts:
#	src/clientversion.cpp

* Merge #733: [GUI] Hide orphans

960137a05a [GUI] Add option to hide orphans in overview and txlist (random-zebra)

Tree-SHA512: d9c6b2cb073d9352b910bef3089a755e8991618b7f427e4e4ddfb48364103d5c63b65197d16f405b58aac7ab5d3ea00a886d51e162965d809346074d065d75ff

# Conflicts:
#	src/qt/optionsmodel.cpp
#	src/qt/optionsmodel.h

* Fixed compile error

* Merge #736: [Utils] Update linters for python3

e66e20ed18 [Utils] Update linters for python3 (Fuzzbawls)

Tree-SHA512: 8c9bfa3bb8464ba8acbc1a9997dca656ca86f776b9eacc23aad45d2c11c64bd5a611ecd51778bd20d1814b5573d6b9a0d994e7b5105bd5f9a90b4ff5534768ba

* Merge #726: [RPC] include mints metadata in 'listmintedzerocoins' output

864aef8 [RPC] include mints metadata in 'listmintedzerocoins' output (random-zebra)

Tree-SHA512: bc19fbf7af754d4616f658668e1b4ad351e8e97b29038ab02134de4f589222e3f30f5b2ccf8b69efa00a6da56f02e5f87eb12f9ca71afc8047040c6bde70d843

# Conflicts:
#	src/rpcwallet.cpp

* Merge #727: [RPC] Add 'spendzerocoinmints' RPC call

f8ec8e0 [RPC] add 'spendzerocoinmints' RPC call (random-zebra)

Tree-SHA512: 95933d5f4a2de70cf9b0b29b3ed922c39b12059f08a66cd7ddfd60a8f21274fc3ef3f76b6fc70c87768b137b78fccd0f59d22b99a99b53c3d77fc20a6045384f

# Conflicts:
#	src/rpcserver.h
#	src/rpcwallet.cpp

* Fixed compile error

* Merge #729: [RPC] Fix RPCTimerInterface

0053876 [RPC]: Fix RPCTimerInterface ordering issue (https://github.com/bitcoin/bitcoin/pull/7317) (random-zebra)

Tree-SHA512: 0e3b5ea32d48d824e37fff701c420e835c1da011cfe10302d47773341ca303ad680b85b2e6d505cda6d29be3e1c0964ee5880f66a67b1aed07aa510ba6fdc312

* Merge #737: [Refactor] Remove 'boost::lexical_cast<>'

a1a8fb9 Replace 'boost::lexical_cast<std::int>' with 'std::stoi' (random-zebra)
6c7b8ae Replace 'const boost::bad_lexical_cast' with 'std::invalid_argument' (random-zebra)
e89923f Replace 'boost::lexical_cast<std::string>' with 'std::to_string' (random-zebra)

Tree-SHA512: 37900a8cadacab61d31872d55c8cb1a654a4f395ffd51292a370d9fb15f313c86bbb5c15f3278394a59ae523341b94a0d091167283e4e87d5d41287502917373

# Conflicts:
#	src/activemasternode.cpp
#	src/masternode.cpp
#	src/masternodeman.cpp
#	src/rpcwallet.cpp

* Updated fundamental node

* Merge #740: [Net] Pull uacomment in from upstream

ec8f69a [Net] Pull uacomment in from upstream (Fuzzbawls)

Tree-SHA512: b6f30a711967af188dd4aab42338d161c5ee587eb36a2a3625be81c32c8b61ce03a19f5485b3b3cbc945f903b2eb32db6a3b081c2ef3e9561aa538583cb4713a

* Merge #741: [GUI] Sort by 'data' in zPIV and coin control dialogs

8b87ad3 [GUI] introduce CCoinCointrolWidgetItem and CZPivControlWidgetItem (random-zebra)

Tree-SHA512: 59f8fc92c454ad3fa07f49f8bd1b3313e60b60eff413723ae16d6a12b440416a7db89d5f9f20a8813f9d23574eeeaba635f84bb9863457aae5dc0818d9971512

# Conflicts:
#	src/qt/zVitcontroldialog.cpp
#	src/qt/zVitcontroldialog.h

* Fixed compile error

* Merge #742: [RPC] Add masternode's pubkey to listmasternodes RPC

132166e Add masternode's pubkey to listmasternodes RPC (presstab)

Tree-SHA512: c8d7a50aa275b0da845c86f942fe49f2e1974983bf9a9553cef6897760b737c07950ba828196ebaa36f6992593085695fe814923b39b7bbf410533eb51ebe9cd

* Merge #743: [Refactor] remove CPubKey::GetHex

63daf40 [Refactor] remove CPubKey::GetHex (random-zebra)

Tree-SHA512: 360902e7e54c296c73de233f2fdb3b057916141c54d12f594a9a0c84e75cc8d554cef16c2119c2c2e886448f83bdf37bdb8bda39156040e4f6afab962aa9cc0d

* Merge #750: [RPC] Add mediantime to getblock/getblockheader output

14c2d6a [RPC] Add mediantime to getblock/getblockheader output (Fuzzbawls)

Tree-SHA512: a950428f78eb027b9ea0570504d61983962374e0668514233528bba549da3156d173356a46d05a6ca786aae422d1b10f256be38bccba078f5d272d4d455a0916

* Merge #751: [RPC] Show the configured/set txfee in getwalletinfo

02f330a [RPC] Show the configured/set txfee in getwalletinfo (Fuzzbawls)

Tree-SHA512: bb6e56c2d2b72d84e9fee9da817368368f5b46622566019d3e8ca95762db82718ef88136955ba285c63a7ff8f4d8259762f8b42f608222ff0c473304ccabca70

* Merge #749: [Build] Update genbuild.sh script

3eef1b9edb [Build] Update genbuild.sh script (Fuzzbawls)

Tree-SHA512: b94abc47dd8effbefd40c933d33053ff7a0ec7ca86b17fb98c0ea9c7a09afee7c6a9facf59e57d0f89245f09d3312b301178404e18c30ec651308be23ddbaad6

# Conflicts:
#	share/genbuild.sh

* Merge #752: [Build] Fix Thread Safety Analysis Warnings

db478c02d3 Ust std threading in sync.{h,cpp} (Fuzzbawls)
19ac6d8f1b Remove Boost dependency from the httpserver (Fuzzbawls)
3e22c85288 Miner: use std methods instead of boost for timing conditions (Fuzzbawls)

Tree-SHA512: f6ba63f8885791cc7a5bc0bf1feb88acba6b1e1832005d76191c2ab98cdce1819becf2941af9e01537be189aa81cddefe1637dde2225fcf9deedca7d661553ca

* Merge #760: [RPC] Show BIP65 soft-fork progress in getblockchaininfo

e723d969c2 [RPC] Show BIP65 soft-fork progress in getblockchaininfo (Fuzzbawls)

Tree-SHA512: e8a214bd48f567e16d6eb3f0634ff7907802a7935ee60e89ffea59f4a00a445fa2735246048ed762e488d31bc5b030c50b6ecab9bde855247b858f12b8be6ce6

# Conflicts:
#	src/rpcblockchain.cpp

* Merge #769: [Main] Unify shutdown proceedure in init rather than per-app

518542f [Main] Unify shutdown proceedure in init rather than per-app (Fuzzbawls)

Tree-SHA512: 6e734ce002e236c3c2c59c2e8e93d87f5fe577b3f5546804b117a71255266cc4012d847d6a1d9b019a7b763124b45987c2dc3f95294670489cac269beceb2e3a

# Conflicts:
#	src/qt/vitae.cpp
#	src/vitaed.cpp

* Fixed compile error

* Merge #747: [GUI] Hide orphans - contextMenu action

b3ff4a1 [GUI] Add action to hide orphans in overview and txlist (random-zebra)

Tree-SHA512: 2b1a6fa71b98881448f4f0148b3a4b02e87ced4ff9212b98050fa717949ec85e4a523533896d9e20d8fefa65d2f2dcf3f0d4152f36a0dcb7def4a8ff4efa64e6

* Merge #755: [Wallet] Fix zPIV spend when too much mints are selected

12255f3 [Wallet] Fix zPIV spend when too much mints are selected (warrows)

Tree-SHA512: 1acc02d544746b2033ceba6050739a2679ad15745539a971b6983b3907524bcfb5f889ba4a4ccacd2bda11a358e2e0fcf7117a9244a6572a5fa24eef5a4bbe6f

* Merge #776: [Qt] Add a security warning to the debug console's default output.

03fef18 [Qt] Add a security warning to the debug console's default output. (Fuzzbawls)

Tree-SHA512: 371df4c48f3dd0ceb1f22a5c89d8ddc68bcef579775b22db89ce9f0da5f3e882406073b67211e3dc672290f0839ba69f67ccc892326e972564d4c23ded09dc95

# Conflicts:
#	src/qt/rpcconsole.cpp

* Merge #770: Do not record zerocoin tx's in ConnectBlock() if it is fJustCheck

f260f5b Do not record zerocoin tx's in ConnectBlock() if it is fJustCheck (presstab)

Tree-SHA512: fb5cf7294a4614fc10b862821d73ab5e47f78263e55837f553b146345fcd4043d62cd3026535ca1ca07f4070ff61deb582907848dc0b447c1803de430b79b5f3

# Conflicts:
#	src/main.cpp

* Merge #771: [Main] Clean up sync.cpp/h with upstream declarations

15a9549 Finalize cleanup of sync.cpp/h (Fuzzbawls)
d7e16c7 Use c++11 nullptr instead of macros or void(0) in sync.cpp/h (Fuzzbawls)
a0a7191 Remove unused fTry from push_lock (Fuzzbawls)
a3cc26c Initialize lockstack to prevent null pointer deref (Fuzzbawls)
aea76f2 Remove Boost dependency from sync.cpp (Fuzzbawls)

Tree-SHA512: 5988a769dc5d6acbf05c4c586b4e6fb55d391db3316d876b10cdf854e13804308df7c3b6246e63d4432811b2af5a99e27d866b0304d887cd01f9c9eae05fd14d

* Merge #762: [Random] WIN32 Seed Cleanup: Move nLastPerfmon behind win32 ifdef.

3f8c6b7 WIN32 Seed Cleanup: Move nLastPerfmon behind win32 ifdef. Code to avoid calling Perfmon too often is only needed when perfmon is actually going to get called. This is not intended to make any functional difference in the addition of entropy to the random pool. (21E14)

Tree-SHA512: 24a58a905eaa418ccd7fed7e0789c664e29583f3788e3e5aa11a371923e579d1a253705bdd34a2ba28c3a19f0bbd7d87a16eccaa12ced9e7c8c81f95516e2821

* Merge #566: [Qt] Add automint status bar icon

ec8264a [Qt] Add automint status bar icon (Fuzzbawls)

Tree-SHA512: adba78850ea1d633905918a51a7951df630a0d118bea9d42f42a2be4973fbdd86214a0c2eaf28f61360ade982a84fe23b46a8bde0dc67640d295de4814bff88e

# Conflicts:
#	src/qt/res/icons/automint_active.png
#	src/qt/res/icons/automint_inactive.png

* Merge #781: [Qt] Don't show staking/automint status icons without a wallet

042be3fc2e [Qt] Don't show staking/automint status icons without a wallet (Fuzzbawls)

Tree-SHA512: 75d8261996fc0c2ec1441b9f81cd6855d71e3015a92a65faaf57d03a4a3c69ebac7ed9c2313ee87f7a121d18c9576e515f05e3fcaa628e24d7713bca1140b366

* Merge pull request #778 from veilgets/patch-1

Update README.md
# Conflicts:
#	README.md

* Merge #774: [Budget] Make checks for MN-autovoting deterministic

dd0dec7 [Budget] Make checks for MN-autovoting deterministic (Mrs-X)

Tree-SHA512: 99f9803e0049697b3b3350f60bacc1d6094076c835b1b6229552e5d6da5c73d5b71465551f262791b945158574d1ecb92c78be7aeb07a1d2f4cbd8e895af5032

# Conflicts:
#	src/masternode-budget.cpp
#	src/masternode-budget.h

* Updated fundamental node

* Merge #761: [Refactoring] Abstract out and switch openssl cleanse

9ac7e6a Switch memory_cleanse implementation to BoringSSL's to ensure memory clearing even with link-time optimization. (Adam Langley)
b1a1154 openssl: abstract out OPENSSL_cleanse (Cory Fields)

Tree-SHA512: 859567247c139bcd766cbb30186f0e3d4602e49a22801ad63e23b7fd0c65b63d7bfd94990bdf6052b1a641f39da31a5a16b6d1f4a574460c4f158089e336332a

# Conflicts:
#	src/Makefile.am

* Merge #783: [Depends] Update QT to 5.9.7

caea417ed Update QT to 5.9.7 (cevap)

Tree-SHA512: 34197e7b92711f3f0392b071de58900592ab8bb2ed3e50cd853cf2da56ba2f6d9b3ee57e4d01f3c2cdce4710ebe0c079bba434263b9af65141363086b9213025

# Conflicts:
#	depends/packages/qt.mk

* Merge #791: [Qt] Fix Missing Explorer Icon

8f17bd594 Fix Missing Explorer Icon (sicXnull)

Tree-SHA512: 4a7c659541fc6cc72aa2ab3020477793988e5a89054b7d6fa4179860c615bec47736ade946e9e9eed263d9620e7121a963330ff538bed4a1d99cd26a8cf10964

* Merge #788: Update license year 2019

406c540 Update license year 2019 (Everton Melo)

Tree-SHA512: 69addbde214d520650b8f39a36acf72b149634f1a7e5abf47b2e32bc8e4a3a9cb25948c61d511541fd78a92f38d074adc69093515a3b237f8e44510fd37daac3

# Conflicts:
#	COPYING

* Merge #759: [Wallet] Avoid failed zPIV spend because of changed seed

340c720 [Wallet] Improve performance when listing mints (warrows)
f19bb60 [GUI] Show when zPIV seed is inccorect in coin selection (warrows)
fac0274 [Wallet] Stop trying to spend mints with wrong seed (warrows)

Tree-SHA512: 071cd6293a44b8f451cc7e81089972318336f52c93d970b318ffa79052052973389a3cfc1c6059355a35ac0ea0064bf98e250775ad7cdc23b02b5d98ac0c4658

# Conflicts:
#	src/qt/walletmodel.cpp
#	src/zvittracker.cpp
#	src/zvittracker.h
#	src/zvitwallet.cpp

* Fixed compile error

* Merge #794: [UI] Open related options tab when clicking automint icon

094eedc [UI] Open related options tab when clicking automint icon (warrows)

Tree-SHA512: 8d0257aaff29ca19b44a93367dd20bcf7a48f06a42b78432be4f461c41506cee0a66bcb57ca423db392e0907ebfc5b0a411c72c5819f5209c76f53761cec4ce9

* Merge #800: [Net] nLastTry is only used for addrman entries

33b76b7 nLastTry is only used for addrman entries (Pieter Wuille)

Tree-SHA512: dd7dce5793fc685bf57961e235d7355b63bee27e99bc0579e90059f5ccb390018b68273a5e002c71fb5a54e324c79366c755950b23f066773295f7e66d28fc66

* Merge #798: [Net] Improve addrman Select() performance when buckets are nearly empty

7dfa9b2 Improve addrman Select() performance when buckets are nearly empty (Pieter Wuille)

Tree-SHA512: 64a16dd027174a45931e73c82e04629738b4caca8500d8cb04a1739d5f5529726d3ff27357f0bdf881fc4ccf278a7a6ac2b904e3a7822af32d8dce096ef16dce

* Merge #804: [Depends] Update zmq to 4.3.1

189d6a958e Update zmq to 4.3.1 (Dimitris Apostolou)

Tree-SHA512: 0226edb402b0594c616e580fe497d600eb2144d8eba8aa458d8255b093173306ff99429058c356e742896a4ac9ecbf92507b2da5cb16e8aa95c8c52860a20a21

# Conflicts:
#	depends/packages/zeromq.mk

* Merge #763: [Wallet] Add automint address

2159a58601 Add newly created automint addresses to the set (Fuzzbawls)
1c0169e494 Show automint address state in getwalletinfo (Fuzzbawls)
9374d5123b Add RPC command to enable/disable automint address functionality (Fuzzbawls)
0a364d4ff8 Add UI option to enable/disable automint addresses (Fuzzbawls)
72491216cf Add runtime/startup option to disable automint address functionality (Fuzzbawls)
65aefe8021 Add newly created automint addresses to the address book (Fuzzbawls)
6c2df854d9 Ensure wallet is unlocked for createautomintaddress (Fuzzbawls)
4205d57c14 Add automint address (presstab)

Tree-SHA512: 76900c564eb6abe3cfa1606559aba4d6725be04126268b06215619fef8f83d58e953985469e2c97086a6cd0e6d60fb9f9e58aca1cee56e1a7bf9668e82c94fa8

# Conflicts:
#	src/init.cpp
#	src/qt/forms/optionsdialog.ui
#	src/qt/optionsmodel.cpp
#	src/rpcserver.h
#	src/util.h
#	src/wallet.cpp
#	src/wallet.h

* Merge #768: [Net] Zerocoin Light Node Protocol

5bd855c673 removing apocaliptic comment (furszy)
95947bb9f7 logprint fixed (furszy)
91780b54cf log new line added + lightzpivthread .h/.cpp (furszy)
95da6abadb Incorrect number of arguments for LogPrint(f) statement found. fixed (furszy)
d72543ffe3 node_bloom_light_zc invalid if statement fixed (furszy)
a9b992adcd remove old comment (furszy)
09ba617e26 remove tab spaces (furszy)
d373e1d25a minor updates to PR 768 (random-zebra)
7b2310cad4 Zerocoin Light Node Protocol (furszy)

Tree-SHA512: a85026a9626aacff07826d2a7eab198327d82d620fce4d1f64962e6c0158fa4a0c3c5c355aaed94809928fe5dd77e90810244cb04e41152517d48ebcb76d04f2

# Conflicts:
#	src/Makefile.am
#	src/accumulators.h
#	src/init.cpp
#	src/net.cpp
#	src/protocol.cpp
#	src/protocol.h

* Fixed compile error

* Merge #758: [Depends] Update libsecp256k1 to latest master

c6634ef Squashed 'src/secp256k1/' changes from 452d8e4d2..1086fda4c (warrows)

Tree-SHA512: 7ebcd89f661b94c7ee52c57c3b1879e5ddf363205b326c8ed442bd4f88765701f22b3413e296519b589a4b0d150488a9dd911459eb9b9834d4e8dde3e21049b1

* Merge #802: [Refactor] Remove begin/end_ptr functions

9f89762 [Refactor] Remove begin/end_ptr functions (warrows)

Tree-SHA512: 420b7dad43df23876cd891104c8a3f1c557c9dc20fa726c69fe80eaf13b353e4301e8c0abc2abde29896f991dd88aaddc7d19996a3b7287a6244fbfd5700facf

# Conflicts:
#	src/serialize.h

* Merge #792: [UI] Add a budget monitoring and voting tab

4008865 [Travis] Fix trailing whitespaces (warrows)
87b9809 [UI] Rework proposal frames (warrows)
8b8a712 [UI] Add global budget information to governance tab (warrows)
f7674fb [UI] Clean proposal list when updating (warrows)
bbf3274 [UI] Use only one column for Proposal list (warrows)
d6c68c6 [UI] remove unused textlabel from governance page (warrows)
39eb903 [Qt] Add basic GUI voting tab to the wallet (Fuzzbawls)

Tree-SHA512: 438afbb8ed1dbe0892164b6f6b3d0ac3b825b2e7855115f1137bf5bcf454533e375774cd835c19ea529bb1ff0a4f886a3e71e809e9893a102ae841a1a4be8f9a

# Conflicts:
#	src/Makefile.qt.include
#	src/qt/res/css/default.css
#	src/qt/vitae.qrc
#	src/qt/walletframe.cpp
#	src/qt/walletframe.h
#	src/qt/walletview.h

* Fixed compile error

* Merge #757: [Doc] Update doc/build-windows.md

0eaf96d Update doc/build-windows.md (idas4you)

Tree-SHA512: 3f8a3067887d84fe371b5ba80b70c95d7a1f2b95b938c5f1059df0f884630595f75abf38676af5ce5a2983f3971791ec56fdaa979ff6b656cb06b3ddd7326df6

* Fixed project name

* [Doc] Update build-unix.md

Update the Unix build notes to be more complete, with mentioning of the
GMP and ZeroMQ dependencies, as well as OpenSSL version note.

Other stylistic updates as needed.

# Conflicts:
#	doc/build-unix.md

* Merge #812: [Regtest][Tests][RPC] Regtest mode + Test suite.

fced4e26fe [Tests] fake_stake: reverse stake hash byte order (random-zebra)
a85cdad03c [Tests] fake_stake: use hashStake for kernel computation (random-zebra)
6aa5ddbff8 [Tests] fake_stake: remove random prevout from spending (random-zebra)
8e370da804 [RPC] add mint hashStake to listmintedzerocoins output (random-zebra)
0d865a8978 [Tests] fake_stake: use a copy for spendingPrevouts (random-zebra)
0f209b3da8 [Tests] fake_stake: docstrings and comments (random-zebra)
322ce79a67 [Tests] fake_stake: fix checksum computation (random-zebra)
7aae5b1e8b [Tests] fake_stake: fix empty spending_prevouts (random-zebra)
c7555e1b84 [Tests] fake_stake: collect prevouts from create_spam_block (random-zebra)
1d699432f2 [RPC] Add call 'getchecksumblock' (random-zebra)
2e7eacc4c4 [Tests] fix line separators in Test03 (random-zebra)
c6c81a7cd2 [Tests] fake_stake: test03 updated (random-zebra)
0d8cf5500d [Tests] remove trailing whitespace from README.md (random-zebra)
9302f5a046 [Tests] fake_stake: test01 & test02 updated (random-zebra)
e0efe4d530 [Tests] unique 'get_prevout' method for both pos and zpos stakes (random-zebra)
9318335525 [Tests] remove trailing whitespaces (random-zebra)
67284ce22a [RPC] add mint block height to 'listmintedzerocoins' (random-zebra)
d783229568 [Tests] get correct nStakeModifier (random-zebra)
78e838ee32 [Tests] fix solve_stake nTime / nStakeModifier (random-zebra)
a428c83609 PoS block creation uniqueness. (furszy)
dd07bd1a50 [Tests] fix proof of stake target in block class (random-zebra)
030e557b93 [Tests] fake_stake: fix test 01 block numbers (random-zebra)
fe54e9b92a [RPC] fix signrawtransaction hack to allow signing of spent inputs (random-zebra)
79e364354f regtest lastPoWBlock and zerocoin block start decreased to not waste lifetime waiting for the tests. (furszy)
42e9c01a85 More logging in block generation. (furszy)
0aa9bafbf4 fake stake test4 (furszy)
8315a42a7b pivx_fake_stake: test03 almost complete (random-zebra)
1ad11ad9f7 RPC createrawzerocoinstake: fix vout[0], add priv-key (random-zebra)
ad65ac4e0a REGTEST: Fix bug on GetModifier (random-zebra)
47f0503b19 RPC: hack MintToTxIn to allow spending an already spent zpiv on regtest (random-zebra)
3092cfc0c2 add empty output to createrawzerocoinstake (random-zebra)
c5a6a67349 log CWallet::MintToTxIn errors (random-zebra)
252f4ab43e pivx_fake_stake: zerocoin prevouts (random-zebra)
22769817ae GetModifier for regtest zPoS hardcoded to prev block stake modifier (furszy)
63bd40e064 pivx_fake_stake: test_spam method refactoring (random-zebra)
1df9240727 pivx_fake_stake: add test descriptions (random-zebra)
79e746eb3d zerocoin mint + spent (furszy)
9eea8837aa half test3 completed (furszy)
23236e7499 pivx_fake_stake: select test from command line (random-zebra)
44d2e9a1c2 pivx_fake_stake: get_prevouts (random-zebra)
1b27b90e8b pivx_fake_stake Test05 - update blockcount in forks (random-zebra)
88e0dc6442 pivx_fake_stake Test05 - more blocks fix (random-zebra)
bf3b732dc5 pivx_fake_stake Test05 - more blocks (random-zebra)
a25f2e84a2 pivx_fake_stake Test05 (random-zebra)
427f2f168b test05 completed, rejection of double spend coin stake input on the same block on main/forked chain (furszy)
3cbf43e7db test05 (furszy)
f7a48260c6 Add 'createrawzerocoinstake' method (random-zebra)
70d859e055 test_02 working good. (furszy)
ed63600142 PIVX_fake_stake: zerocoin tests (random-zebra)
07b981af88 no time validation for regtest (furszy)
47c2c65721 import bytes_to_hex on test_02 fix (furszy)
c02002bdd4 PIVX_fake_stake: fix coinstake out value (random-zebra)
35f09e5d21 submitblock assertion on test_02 (furszy)
d0c0dccff5 PIVX_fake_stake: fix coinbase nHeight merge (random-zebra)
2cf7ae1939 PIVX_fake_stake: fix txes in create_spam_block (random-zebra)
ef01bd8141 zPoS running on regtest :) (furszy)
5405d1ce2d Zerocoin fixed on regtest & PoS blocks generation fixes. (furszy)
158bd2b215 regtest PoS generate valid blocks (furszy)
71a3743108 Tests: fixup a conditional check for python block creation (Fuzzbawls)
b3950ff436 Tests: update nothingatstake test file (Fuzzbawls)
f40f576eb3 stakemodifier fixed for regtest (furszy)
80a2aec5df Tests: serialize block signature when present (Fuzzbawls)
9cec3bd2f5 RPC: hack signrawtransaction to allow signing an already spent input (Fuzzbawls)
5c0f0b99ed WIP: port the test for "fake stake" issue test (Fuzzbawls)
b074cd0e42 RPC: return the used stake modifier in getblock (Fuzzbawls)
1ffc443ba6 Regtest: mine the correct version blocks (Fuzzbawls)
3d588ead42 Tests: Remove whitespace in default conf file (Fuzzbawls)
ebdc552408 Fixup the walletdump command and python test (Fuzzbawls)
37b29c7e61 [Tests] Add Basic BIP38 RPC functionality test (Fuzzbawls)
c2cfff0a23 Tests: add size field to test json (Fuzzbawls)
2155506247 Add rpm contrib files (Fuzzbawls)
4e62dd9ee8 Main: reject non-final transactions using nLocktime from entering the mempool. (Fuzzbawls)
4c71b5694a [RPC] Ensure Tx/Budget input hashes are of the proper length (Fuzzbawls)
7d37c1c207 [RPC] Update and harden many raw transaction RPC commands (Fuzzbawls)
262f76a9d0 [RPC] Error early when block doesn't start with a coinbase transaction (Fuzzbawls)
7e0476b25a RPC: Add waitforblock/waitfornewblock/waitforblockheight (Fuzzbawls)
22bfe7ea2c [Tests] Initial update for regression test suite tests (Fuzzbawls)
93fd9f0501 Update block generation code to enable regtest mode (Fuzzbawls)
25fc43698b Build: add test runner packaging to configure (Fuzzbawls)

Tree-SHA512: 09bcd3c727eb85103451cf971e0bc3a27eca205318ebb6c600a26ddc97f58ef456aa6768c9e94fd5c484da5071887e5b50c2bcf90318cfe2c9178c0c746a408b

# Conflicts:
#	Makefile.am
#	configure.ac
#	qa/pull-tester/run-bitcoind-for-test.sh.in
#	qa/pull-tester/tests-config.sh.in
#	qa/rpc-tests/README.md
#	qa/rpc-tests/proxy_test.py
#	qa/rpc-tests/python-bitcoinrpc/bitcoinrpc/__init__.py
#	qa/rpc-tests/python-bitcoinrpc/bitcoinrpc/authproxy.py
#	qa/rpc-tests/python-bitcoinrpc/setup.py
#	qa/rpc-tests/util.py
#	qa/rpc-tests/util.sh
#	qa/rpc-tests/wallet.py
#	src/Makefile.qt.include
#	src/main.cpp
#	src/miner.cpp
#	src/pow.cpp
#	src/rpcmining.cpp
#	src/rpcrawtransaction.cpp
#	src/rpcwallet.cpp
#	src/stakeinput.cpp
#	src/wallet.cpp
#	test/util/bitcoin-util-test.py
#	test/util/data/blanktxv1.json
#	test/util/data/tt-delin1-out.json
#	test/util/data/tt-delout1-out.json
#	test/util/data/tt-locktime317000-out.json
#	test/util/data/txcreate1.json
#	test/util/data/txcreate2.json
#	test/util/data/txcreatescript1.json

* Fixed compile error

* Merge #803: [NET] Invalid blocks from forks stored on disk fix + blocks DoS spam filter.

61a6ea7558 AcceptBlock() for-each loops variables moved to const (furszy)
e1974d23f3 AcceptBlock() check for double spent serials only on main chain flag. (furszy)
babdfb0f26 remove extra debug lines in AcceptBlock (random-zebra)
a9178bc6e0 AcceptBlock: contextual zcspend check on main chain (random-zebra)
0d49570f20 AcceptBlock() block stored log removed (furszy)
b74921756a Fix bug on AcceptBlock when pindex is null (random-zebra)
45883b9fb6 AcceptBlock() invalid isBlockFromFork flag (furszy)
6a16049dfa AcceptBlock() reject blocks double spending the coin stake input inside the same block (furszy)
da1b6836a5 block spam filter, validate non null nodestate (furszy)
84de55a11c AcceptBlock() isBlockFromFork flag not contemplating prev blocks from forks fixed (furszy)
4219339521 AcceptBlock() - not accept blocks from a forked chain that exceed the max reorg limit (furszy)
47759e113c AcceptBlock(), reject invalid PoS stake (furszy)
e237823000 validate non null pfrom on blockspamfilter check (furszy)
c2e5459dff AcceptBlock(), serial double spend on the same block validation (furszy)
3f5091986c zPoS validations of forked chains before store them + inputs check on prev split main chain (furszy)
64804b4bee Invalid blocks from forks stored on disk fix + blocks DoS spam filter. (furszy)

Tree-SHA512: 6c5a7fda3eb81dc8b030c9ba624e5101f552ef9cecc839a79237b705c314171c0e9c66ecd8bfd207081c6759272140cf3bdf0da7af6ac4695f0c09b74fb1ba45

# Conflicts:
#	src/main.cpp

* Merge #817: [Wallet] Fix segfault with runtime -disablewallet

bae276a Don't bother checking obfuscation messages (Fuzzbawls)
837f25f [Wallet] Fix segfault with runtime -disablewallet (Fuzzbawls)

Tree-SHA512: a8dd502897cdc82f206a1805f7b1ae51960344c3fa32640c9dc6c271768e7db718bc2f57034e8fabfd1b402e589e531419d1e8af8a25eee71d89a6b79ce3a679

# Conflicts:
#	src/main.cpp

* Merge #821: [RPC] Fixup signrawtransaction on regtest

e87231b62b [RPC] Fixup signrawtransaction on regtest (Fuzzbawls)

Tree-SHA512: 1e1b9c25abf9b2406b5065b0b348100fe60e13a258d874d681c6df4094a86ecf3e226e39e6c3e1d8b07fa853634c35249f65652641d13741c426c4c9053e7b36

* Merge #822: [Tests] Integrate fake stake tests into parent test suite

52b509468f Remove stale qtum python scripts (Fuzzbawls)
c0d8dcb8c9 [Tests] Integrate fake stake tests into parent test suite (Fuzzbawls)

Tree-SHA512: b0f9d559b3a8a4d0da3d400dfbe57fa15933a3c569732c4d7d10e147e7d5cd5f70a6f5231c862e4ca5f7f3efdb2de5890fe4755cbee5c41b00a4ab34a015c2e4

* Merge #826: [Qt] Fix a windows only crash when r-clicking a proposal

0015d08c75 [Qt] Fix a windows only crash when r-clicking a proposal (warrows)

Tree-SHA512: 7e9507e4ffbbca6b41d9c9b18d31f7ebfddf01d5abbfd083b2fcbf6d7d398c20391bdc4fc4903c8d1b338d0c78929920264eb6352bbcaa9b2baf1c11df965cc5

* Merge #838: [RPC][Test] spendrawzerocoin + wrapped serials functional test

c3352f0dbd [Test] add 'zerocoin' to the list of good prefixes in test_runner (random-zebra)
78f1a241ae [Test] wrapped serials: use multiple random values for K (random-zebra)
bf0cf52d37 [RPC] fix spendrawzerocoin string parsing (random-zebra)
025d2855f9 [Tests] Add Wrapping Serials Test (random-zebra)
7373704842 [RPC] Add spendrawzerocoin (random-zebra)

Tree-SHA512: 707c015b2b40bf6f34999aa7b1a62b1e1be4b8c4d9b0e830ed78ebf2f74a362883708d6204cfadd95f5d6520feb19fc1ba4b8a12549c6cc40c40dc2ab56fb2e9

* Merge #837: [Zerocoin][UNIT TEST][RPC] Wrapped serials.

6eff5fa970 fix zPIV supply recalculation (random-zebra)
2676ca3626 newline character added to recalculate wrapped serials supply logging (furszy)
da43659dd2 Initialize nSupplyBeforeFakeSerial to 0 in TestNet and RegTest (random-zebra)
c46de31dc4 Fix Wrapped Serials inflated zPIV supply recalculation (random-zebra)
13691861f8 zerocoin contextual spend check log invalid serials (furszy)
0240f27e5f log rejection serial block height (furszy)
ab6a134f2b invalid fake serial rejection (furszy)
010d03591c zpiv recalculation moved in init and added in connectblock (furszy)
bd6b26b466 fix tabs in SoK (random-zebra)
41a2bcca29 fix bitSize typo in bignum for openssl (random-zebra)
29c1791815 inflation methods moved to cpp (furszy)
027c9ffcb6 wrapped serial inflation trigger recalculation (furszy)
a3d725a42a Zerocoin supply, wrapped serials inflation + some minor modifications (furszy)
b3660cbb2e SoK invalid range check. (furszy)
ad3a3c717b remove tab spaces (furszy)
ed15e21eb8 Fix isBlockBetweenFakeSerialAttackRange check (random-zebra)
8e7cf5ab4e Fix IsValidCommitmentToCoinRange check (random-zebra)
a936e03c22 getserials ambiguous Pair constructor in bitsize blocking clang compilation fix (furszy)
bd529a0f6e [UNIT TEST] wrapped serial coinSpend check (furszy)
1217868777 [RPC] Add getserials method (random-zebra)
9fe8dabc4f fix isValidSerial always true check (random-zebra)
913e48cda8 wrapped range fix (furszy)
46a5231574 wrapped serials check in acceptToMemPool method (furszy)
edfdb4c30b prints in console commented (furszy)
18e55ed179 fake serials attack enforcement (furszy)

Tree-SHA512: fe6eaf26257c25377982d44ff1cdd839edf6f71daa5607fc98397b4a3fcd26ae78db54c781038e4f9ff8a7ad1d460ce109909184852bb620435e10dcba6a638c

# Conflicts:
#	src/init.cpp
#	src/libzerocoin/bignum.h
#	src/main.cpp
#	src/main.h
#	src/primitives/zerocoin.h

* Fixed compile error

* Merge #840: [QT] cleanup, remove old trading dialog form

56dd114 cleanup, remove trading dialog form (furszy)

Tree-SHA512: 824547803f5b854c51c22ca87149608725036c5ddee1922ceef7bdc71fcaeac440e77da3c51f7fe44b29269a57990d5ddfd674ca52b4de6ebd6fd36f847f55e8

# Conflicts:
#	src/qt/forms/tradingdialog.ui

* Merge #847: Fix to display missing clock5.png tx image

dc168d1 fix to display missing clock5.png tx image (joeuhren)

Tree-SHA512: d10828e76ad1b2e034b013a1c3cac9cf79dfdc642a11d1a6493d615a19982d50fc09343b3b39171ba7c25202f29ed0532f1bc539c42fbdad37a19e58adcc48b1

* Merge #815: [Doc] Update release notes with forthcoming 3.2.0 changes

f86890b256 more notes for RPC commands and gitian build script (Fuzzbawls)
c39053bb73 Add more release notes (Fuzzbawls)
68e3e925b5 Initial release notes for v3.2.0 (Fuzzbawls)

Tree-SHA512: de06f5d6d913d21cd0ac329ff5a69e915f3ab5afae82ed471e496e2d718562a3a2cf010d20279f76f8ba6397394cfb21ba6cbe9da1385eed36d4f07c00f29161

# Conflicts:
#	doc/release-notes.md

* Fixed coin name

* In progress multi-input witness generation.

# Conflicts:
#	src/accumulators.cpp
#	src/accumulators.h
#	src/chainparams.cpp
#	src/kernel.cpp
#	src/miner.cpp
#	src/wallet.cpp

* more progress

* More progress on caching spend data.

# Conflicts:
#	src/Makefile.am
#	src/init.cpp
#	src/miner.cpp
#	src/rpcblockchain.cpp
#	src/test/zerocoin_implementation_tests.cpp
#	src/wallet.cpp
#	src/wallet.h
#	src/walletdb.h
#	src/zpiv/zpivtracker.cpp
#	src/zpiv/zpivtracker.h
#	src/zpiv/zpivwallet.cpp
#	src/zpiv/zpivwallet.h
#	src/zpivtracker.cpp
#	src/zpivtracker.h
#	src/zpivwallet.cpp
#	src/zpivwallet.h
#	src/zvittracker.cpp
#	src/zvittracker.h
#	src/zvitwallet.cpp
#	src/zvitwallet.h

* Fixed compile error

* Fixed compile error

* Remove security level from zerocoin spending.

# Conflicts:
#	src/qt/privacydialog.cpp
#	src/rpcwallet.cpp
#	src/wallet.cpp

* prevent infinate loop in miner

* ensure override is set for GetSerialHash()

* Include dependent headers in stakeinput.h

* set the accumulator start height when initializing the witness

* remove spam log output in stakeTargetHit()

* add benchmarking to zPIV spend inner functions

* fully initialize member variables when setting the witness data

* don't duplicate function call

* benchmark fixup

* don't hold cd_spendcache for the entire loop

* Remove security level from UI

* Add clearspendcache RPC command

# Conflicts:
#	src/rpcserver.cpp
#	src/rpcserver.h

* re-add zpivchain.h (fixes merge conflict error)

# Conflicts:
#	src/Makefile.am
#	src/init.cpp
#	src/test/zerocoin_implementation_tests.cpp
#	src/zvit/zvitwallet.cpp

* more work on pre-computing

# Conflicts:
#	src/wallet.cpp
#	src/zvit/zvittracker.cpp

* Make GetSerialHash return const again

* Fix RPC spendzerocoin

* Precompute zPIV spends in a dedicated thread

Moves the spend precomputation process into it's own thread, instead of
being tied to the staking thread.

Loop currently has a 5000ms sleep at the end so as to not overconsume
locks.

# Conflicts:
#	src/wallet.cpp
#	src/wallet.h

* Qt: Add precomputed percentage indicator column to zPIV control UI

Adds a new column to the zPIV control UI showing the mint's completed
precompute percentage.

* Allow zPIV precomputing to be disabled

Adds a new command line (conf) option `-precompute` to disable
precomputing. Default is to enable.

# Conflicts:
#	src/init.cpp

* Add Databasing of zpiv precomputes, they are not encrypted yet

* Update precompute cache

# Conflicts:
#	src/init.cpp

* Fix rebase conflicts from precomputing

# Conflicts:
#	src/rpcserver.h

* Clear database cache with rpc call

* Convert precompute cache into LRU cache

* Add global boolean, that stop precompute cache lock

* reorg + refactoring + conflicts

# Conflicts:
#	src/lightzvitthread.h
#	src/rpcblockchain.cpp
#	src/wallet.h
#	src/zvit/accumulators.h

* precomputation-upstream conflicts solved

# Conflicts:
#	src/rpcblockchain.cpp
#	src/rpcrawtransaction.cpp

* getaccumulatorwitness method fix

# Conflicts:
#	src/rpcblockchain.cpp

* re added LNZP removed files

# Conflicts:
#	src/Makefile.am

* Remove duplicate functions from rebase

* Fix assertion failure in mining/staking

Need to explicitely set pindexPrev and nHeight within the locked scope.

* Fixup coinspend unit test header includes

* Fix wrapped serial functional test

The error message had changed

* Remove security level in `DoZpivSpend()` call

* Disable precompute for functional tests

The locking can interfere with block generation

* Fixup the interface_rest functional test

* Better logging for CheckCoinSpend

Also re-introduce the regtest specific conditional

* Prevent lock spamming when no stakable inputs are present

* Cleanup arbitrary sleep times in CreateCoinStake

* Fixup bad logprintf

* fixup makefile.am

* Don't error out when a range has already been computed

When a range of blocks has already been computed, use that existing data
 instead of erroring out. This is used in the zPoS pipeline where, after
  precomputation, the passed `pindexCheckpoint` is likely to be at a
  block height below the accumulator's tip/end.

* Fix irrelevant receipt status message

Since security level has been removed, this status message needed to be
changed.

Also removed some stale unused code that was left over from when
security level was used.

* Reduce log spam

New debug category "staking" added with some previous `LogPrintf`
messages recategorized to reduce log spam.

Also noted both "staking" and "precompute" in the init help message and
added them to the "pivx" umbrella category.

# Conflicts:
#	src/init.cpp
#	src/util.cpp

* Fixed compile error

* Merge #843: [Net] Increment Protocol Version

7241582ba3 [Net] Increment Protocol Version (Fuzzbawls)

Tree-SHA512: 12f2b784837de572ca0d96167dc51f355d5d0b042c53fb006186112639388ef5bddfe601fc99af64d3c0ab58013aa7add451616d29073f3b8fc6dfb4d29dce7d

# Conflicts:
#	src/version.h

* v3.2.0 Release

# Conflicts:
#	configure.ac
#	doc/release-notes.md

* [macOS] Remove DS_Store WindowBounds bytes object

Github-Pull: #858
Rebased-From: 21f50784c39d2c87776edb7b959d92d63b95b339

* Don't return an invalid state when shutting down the wallet

When the shutdown process is started, it is possible that the call to
`ValidateAccumulatorCheckpoint()` in `ConnectBlock()` will fail. Instead
 of returning an invalid state, which causes the block to pass through
 `InvalidChainFound()`, just return a stateless error if a shutdown has
 been requested.

Github-Pull: #865
Rebased-From: 8126729c7800d801f0f067d9a2257b8ad74c1a9f

* [Qt] Stop using a solid white image as a border image

This seems to be causing an issue on macOS, resulting in odd magenta
pinstripes. Instead, just set the WalletFrame's background to solid
white via hexcode.

Github-Pull: #863
Rebased-From: 9a855a8b50a3be548f3d8df7a7fc4f00baef0f73

* Remove now-unused image files

Github-Pull: #863
Rebased-From: 38e92f3a2678571cae2908d2140bb2f41e339143

# Conflicts:
#	src/qt/res/images/walletFrame.png
#	src/qt/res/images/walletFrame_bg.png

* [QT] Fix a display bug about zPIV mints

When opening the zPIV coin selection in privacy tab, if the wallet is
locked the message for all mints is that the seed is wrong. This commit
fixes it by replacing the message and stating that the locked wallet
prevents precomputation and spending.

Github-Pull: #852
Rebased-From: 94bea35e5569c323a667d8204bc2d23b15d4dc29

* [Net] Add new checkpoints for mainnet/testnet

This adds two new checkpoints for mainnet:
 * Block 1679090 - first block with a wrapped serial
 * Block 1686229 - last block that zPIV was active

Also for testnet:
 * Block 1016800 - Arbitrary recent block

Github-Pull: #861
Rebased-From: 9ce73e55db0f0c3013c08bee06648c40b705b86a

# Conflicts:
#	src/chainparams.cpp

* [Qt] Prevent double deletion of progress dialog

When `showProgress()` is passed a `100` int value, the dialog is deleted
. If the function is passed a `100` int value a second time in the same
scope, like what happens at the end of `RecalculateZPIVSpent()` and
`RecalculateZPIVSupply()`, it results in a segfault.

This change standardizes the process by first initializing the progress
dialog with a `0` value, updating to a maximum of a `99` value inside
the loop, and finally closing with a `100` value after the loop has
completed.

Github-Pull: #860
Rebased-From: fa0e1f301cb4c668706a14df8ae6e149c714ef6f

* [Build] Update debian contrib files

Github-Pull: #866
Rebased-From: 51616cb0d71541326b5060f7f93a51889c61cfc6

# Conflicts:
#	Makefile.am
#	contrib/debian/README.md
#	contrib/debian/changelog
#	contrib/debian/manpages/pivx-qt.1
#	contrib/debian/manpages/pivx.conf.5
#	contrib/debian/manpages/pivxd.1
#	contrib/debian/pivx-qt.desktop
#	contrib/debian/pivx-qt.install
#	contrib/debian/pivxd.bash-completion
#	contrib/debian/pivxd.install
#	contrib/debian/pivxd.manpages
#	share/ui.rc

* [Performances] Decrease the number of wasted CPU cycles

Github-Pull: #868
Rebased-From: 97720be5b945d1d490f6f6fa940b4620f6bbdb12

* PIVX Core v3.2.1 Release

# Conflicts:
#	doc/release-notes.md

* [Net] Valid blocks from forks badly rejected due an invalid view of the available utxo set for forked chains + split height going one block further than what should be.

[Net] acceptBlock, back to chain split was going one block further if prev was the previous block of the incoming block.

[Net] coins cache view only has the tip view and not forks utxo chain view.

Github-Pull: #880
Rebased-From: 2c76194c757ddd6a9081ee555b191c6dbb326c50

* [Net] AcceptBlock, first prev block loaded from disk.

Github-Pull: #880
Rebased-From: 754764be02af58b0b2059f580b40bf5f6380fa4d

* [Net] Add additional checkpoints

This adds two additional checkpoints for known split points

Github-Pull: #884
Rebased-From: af28b90a4ab119102ed995a20614025a55256526

# Conflicts:
#	src/chainparams.cpp

* Fix incorrect last checkpoint timestamp

Github-Pull: #887
Rebased-From: a0af2a75257a86f585580152e73de24b331c9264

# Conflicts:
#	src/chainparams.cpp

* 3.2.2 Release

# Conflicts:
#	doc/release-notes.md

* Fixed compile error

* Fixed coin name

* Fixed coin name

* Fixed coin name

* Merge…
2a5A1Ghu1 added a commit to VitaeTeam/Vitae that referenced this pull request Apr 8, 2020
* Simplify and document -custombackupthreshold

Also move -backuppath and -zpivbackuppath to more appropriate areas in
the help output.

# Conflicts:
#	src/init.cpp

* Cleanup log spam & add additional check to archive zpiv stake orphans.

My log was showing stake orphans getting stuck with the message "Found orphanded mint txid=.....". This is supposed to ignore it for the existing iteration and then clean it up next time ListMints() is called. This was not happening to stake transactions, so logic is added to archive the mint if it is coinstake.

* [Budget] Spread out voting on finalized budget for testnet also.

# Conflicts:
#	src/masternode-budget.cpp

* Updated fundamental node

* Display -backuppath, -zpivbackuppath, -custombackupthreshold in wallet repair menu

also fix segfault when permission denied since trying to create directories before checking permissions

* Guard against non-integer input for GUI's custombackupthreshold

* [Core] Initialzed seed for rand()   (trivial change)

* Change spork key validity period. Minor spork code refactor.

* Merge #583: [Docs] Update release notes for v3.1.0

53fc2ddc9 [Docs] Update release notes for v3.1.0 (Fuzzbawls)

Tree-SHA512: 2df4411b3376aea24956f8c3e602bece66c92f6f74488bb5a22005bfaa7fab272a93417a76c520aae26a29dd2714270b73f72f3e7922377410a870ee68669c1b

# Conflicts:
#	doc/release-notes.md

* Merge #584: [Doc] Update to zPIV staking and Thank you's

e46e49b Update to zPIV staking and Thank you's (Sieres)

Tree-SHA512: 21a43784106ea774e362c2b7d0ca7c1dfb8cb28460a9d7b56057c8becb68599b263510e6f838c441cef13835b722af49c497707b02c80f874432f8c5e7c2e8a6

# Conflicts:
#	doc/release-notes.md

* PIVX Core v3.1.0

# Conflicts:
#	configure.ac

* [Bug] Fix CMasternodeConfig::read

rebase from upstream. Windows doesn't initialize CService properly
during startup before the masternode.conf file is read.

# Conflicts:
#	src/masternodeconfig.cpp

* Updated fundamental node

* Fixed compile error

* Bump version to 3.1.0.1

Bugfix for Windows MN Controllers

* Merge #593: 3.1.0.2 backport

43f6f1b4d Add unit test for budget value. (presstab)
9ee7d98fc Update protocol to 70914. (presstab)
ebc452738 [Budget] Fix wrong budget amount (Mrs-X)

Tree-SHA512: 6d813ee5e9cc548ffd8b3c816f669a9b79a6b8118de73941fd3fc6d7be46ae2dbfa935d94d1b62c32c1700165ad5a637f87eeaa8cd36927d4d281193b9c84ada

# Conflicts:
#	src/version.h

* Bump version to 3.1.0.2

* Bump to 3.1.0.3

one-line change for `listtransactions`, this won't be a full release
with gitian builds, but a tag that exchanges/services can use as a
fixed-point reference if they need `listtransactions` compatibility.

* Merge #584: [Doc] Update to zPIV staking and Thank you's

e46e49b Update to zPIV staking and Thank you's (Sieres)

Tree-SHA512: 21a43784106ea774e362c2b7d0ca7c1dfb8cb28460a9d7b56057c8becb68599b263510e6f838c441cef13835b722af49c497707b02c80f874432f8c5e7c2e8a6

# Conflicts:
#	doc/release-notes.md

* Merge #585: [Doc] Change aarch assert sign output folder

a810714 [Doc] Change aarch assert sign output folder (Warrows)

Tree-SHA512: 1b454a87f526ec8edf96f28952f4dccce444bbedd7512a21188d155ab5e57e494d8306529eccc0a280417895dc0e4b7718a233b883cfcffd84fd89f5c9d4e280

# Conflicts:
#	doc/release-process.md

* Merge #595: [Tests] Fix chain ordering in budget tests

3a6b152 [Tests] Fix chain ordering in budget tests (Fuzzbawls)

Tree-SHA512: c94c7511d088bffc9568045b48b5fac8f10cceb4561e1d3a58fda3cb64227aee163280e9ad553157b206bd36257f516c34c697e8df4eeea153ffc8a44753a17a

* Merge #596: [Build] Bump master to 3.1.99

5d73f63 [Build] Bump master to 3.1.99 (Fuzzbawls)

Tree-SHA512: 7d421685e1f3b90dfc4f536b679436f0d8bbd82614996aa7e76541ff9ad572e729063fb699d70778ea3f4acb2576713ebd3bbb49966d8e82a79945723419b256

# Conflicts:
#	configure.ac
#	contrib/gitian-descriptors/gitian-aarch64.yml
#	contrib/gitian-descriptors/gitian-linux.yml
#	contrib/gitian-descriptors/gitian-osx.yml
#	contrib/gitian-descriptors/gitian-win.yml

* Merge #597: [Wallet] Write new transactions to wtxOrdered properly

b2fdbbf64 [Wallet] Write new transactions to wtxOrdered properly (Fuzzbawls)

Tree-SHA512: b0bd54c9bd7fb44c18d7d4d84213b96b48dc22b35825c0a0f268b3f99086e8beeea7de5aed07cc575ee7dae0ce095e0438eb7e89454bae54551478ea5f81661d

* [Refactor] Delete secp256k1 folder for subtreefication

# Conflicts:
#	src/secp256k1/.gitignore
#	src/secp256k1/.travis.yml
#	src/secp256k1/COPYING
#	src/secp256k1/Makefile.am
#	src/secp256k1/README.md
#	src/secp256k1/TODO
#	src/secp256k1/configure.ac
#	src/secp256k1/include/secp256k1.h
#	src/secp256k1/libsecp256k1.pc.in
#	src/secp256k1/obj/.gitignore
#	src/secp256k1/src/bench_inv.c
#	src/secp256k1/src/bench_sign.c
#	src/secp256k1/src/bench_verify.c
#	src/secp256k1/src/ecdsa.h
#	src/secp256k1/src/ecdsa_impl.h
#	src/secp256k1/src/eckey.h
#	src/secp256k1/src/eckey_impl.h
#	src/secp256k1/src/ecmult.h
#	src/secp256k1/src/ecmult_gen.h
#	src/secp256k1/src/ecmult_gen_impl.h
#	src/secp256k1/src/ecmult_impl.h
#	src/secp256k1/src/field.h
#	src/secp256k1/src/field_10x26.h
#	src/secp256k1/src/field_10x26_impl.h
#	src/secp256k1/src/field_5x52.h
#	src/secp256k1/src/field_5x52_asm.asm
#	src/secp256k1/src/field_5x52_asm_impl.h
#	src/secp256k1/src/field_5x52_impl.h
#	src/secp256k1/src/field_5x52_int128_impl.h
#	src/secp256k1/src/field_gmp.h
#	src/secp256k1/src/field_gmp_impl.h
#	src/secp256k1/src/field_impl.h
#	src/secp256k1/src/group.h
#	src/secp256k1/src/group_impl.h
#	src/secp256k1/src/java/org/bitcoin/NativeSecp256k1.java
#	src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.c
#	src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.h
#	src/secp256k1/src/num.h
#	src/secp256k1/src/num_gmp.h
#	src/secp256k1/src/num_gmp_impl.h
#	src/secp256k1/src/num_impl.h
#	src/secp256k1/src/scalar.h
#	src/secp256k1/src/scalar_4x64.h
#	src/secp256k1/src/scalar_4x64_impl.h
#	src/secp256k1/src/scalar_8x32.h
#	src/secp256k1/src/scalar_8x32_impl.h
#	src/secp256k1/src/scalar_impl.h
#	src/secp256k1/src/secp256k1.c
#	src/secp256k1/src/testrand.h
#	src/secp256k1/src/testrand_impl.h
#	src/secp256k1/src/tests.c
#	src/secp256k1/src/util.h

* Merge commit '8a901f93d505af3516353837600fd71a0c53a692' as 'src/secp256k1'

* [Crypto] Switch from openssl to secp256k1 for consensus

[Refactoring] Moved and removed some stuff
-Removed duplicated arith uint files
-Removed unused variables
-Move keystore impls to .cpp instead of .h
-Removed useless function in key.cpp
[Crypto] fix bip38 compilation for latest libsecp256k1
[Compilation] Change compilation and some code to use libsec instead of sslcrypto
[Crypto] Update keys to comply with latest secp256k1 lib

# Conflicts:
#	src/Makefile.am
#	src/arith_uint256.cpp
#	src/arith_uint256.h
#	src/eccryptoverify.cpp
#	src/eccryptoverify.h
#	src/ecwrapper.cpp
#	src/ecwrapper.h
#	src/key.cpp
#	src/key.h
#	src/pubkey.cpp
#	src/pubkey.h
#	src/uint512.h

* [Tests] Add new auto generated script tests

* [Crypto] Bring back function CKey.SetPrivKey for zPIV

* Fixed compile error

* [Crypto] Add ctx initialisation for bip38

* [Tests] Fix chain ordering in budget tests

check testnet params first, then check mainnet so as to not interfere
with subsequent unit tests that rely on mainnet params.

Also clean up include ordering.

Github-Pull: #595
Rebased-From: 3a6b1523918783e3983a526e2b2bae4f2b939d9b

* Only enable/disable PrivacyDialog zPIV elements if needed.

Currently the zPIV buttons are constantly updated to enabled or disabled even if they are already in the correct state.

Github-Pull: #600
Rebased-From: 2b76f3183ca202c3f00e1e74669e7ce4d27f93e5

# Conflicts:
#	src/qt/privacydialog.cpp

* Fix spending for v1 zPIV created before block 1050020.

The transition to v2 zPIV and reset of the accumulators caused blocks 1050000 - 1050010 to be accumulated twice. This was causing many v1 zPIV to not create valid witnesses. This problem is fixed by double accumulating blocks 1050000-1050010 when creating the witness.

Github-Pull: #603
Rebased-From: abee3d97893cd3bc549256b24308f6df1ce91f3e

* Add getaccumulatorvalues RPC.

Return the accumulator values associated with a particular block height.

Github-Pull: #603
Rebased-From: 8a6d425672886dd82021d1c9f0dff61fe50441f8

* Remove log spam and ensure proper zpiv version is used.

Github-Pull: #603
Rebased-From: ccf6c77df0ee498825c693b0422ac1e5c0ea54e6

# Conflicts:
#	src/wallet.cpp

* [GUI] Fix wrongly displayed balance on Overview tab

Github-Pull: #598
Rebased-From: 60308773b4a4cc2445ef4e5fce225fba614844be

# Conflicts:
#	src/qt/overviewpage.cpp

* Fixed Multisend dialog to show settings properly

Multisend will display a message if it has only been enabled for masternodes and if its enabled for both (Displaying this didnt work if multisend was only enabled for masternodes)
Github-Pull: #580
Rebased-From: 40baa7d141b715d665b8a10d7b7aae33917fc51b

# Conflicts:
#	src/qt/multisenddialog.cpp

* Update multisenddialog.cpp
Github-Pull: #580
Rebased-From: 8dca829e7ccad4c9fba3a015c595c8cdc2fe2a64

# Conflicts:
#	src/qt/multisenddialog.cpp

* [Build] Remove unnecessary BOOST dependency

Github-Pull: #605
Rebased-From: da3a6a5954ebd38e947041bcde86ae8512fd62d7

* [Budget] Make sorting of finalized budgets deterministic

Github-Pull: #608
Rebased-From: 93e637f216c722d6c0f1a099ce38fa0b810b8afa

* Updated fundamental node

* Remove zPIV code from main.cpp

Github-Pull: #609
Rebased-From: 873ef19fc0dd754bc127ff6f94a2ddec650f06d7

# Conflicts:
#	src/Makefile.am

* Renamed zpivchain to zvitchain

* Fixed compile error

* [Output] Properly log reason(s) for increasing a peer's DoS score.

Many of the MN related DoS checks had their log messages output only if
the client was running in debug mode, leading to unexplained peer bans.

Github-Pull: #611
Rebased-From: fe14f5ffa61738da1ee66bd44ad5a5e82de5b7ff

# Conflicts:
#	src/masternode-budget.cpp
#	src/masternodeman.cpp

* [Build] Make sure Boost headers are included for libzerocoin

Custom boost locations not using pkg_config can result in a header
include not being found when compiling the libzerocoin library. This
quick fix ensures that the `BOOST_CPPFLAGS` are explicitely included.

Github-Pull: #622
Rebased-From: 811785c64c87abca0ccfc46dc77cf935dd99c65e

# Conflicts:
#	src/Makefile.am

* Update zPIV stake set more frequently.

Github-Pull: #617
Rebased-From: 355e2d36aabe4abbd768d79659e2b66d111ed6e8

* Lower stake hashdrift to 30 seconds.

Lower the hash drift which should reduce the amount of orphans.

Github-Pull: #617
Rebased-From: 4c862f2ee12af326d3a6886ed7be6c2ebe3b7e28

* [UI] Remove useless help button from QT dialogs

Github-Pull: #629
Rebased-From: 4dc636c09bd7964d5ac3fc06429ad0e385e6bef4

# Conflicts:
#	src/qt/askpassphrasedialog.cpp
#	src/qt/zVitcontroldialog.cpp

* Merge #521: [GUI] Make "For anonymization and staking only" checked by default

4e5b73e [GUI] Make "For anonymization and staking only" checked by default (Mrs-X)

Tree-SHA512: 53d5aa663269efdb82cb2d8961f2eae4aebc03a6d96d15d990b357385584e365935f012eb9410b81de891a1d1ed75fbfe88937b2e87df12db148b1d6e3c015a5

# Conflicts:
#	src/qt/askpassphrasedialog.cpp
#	src/qt/masternodelist.cpp
#	src/qt/walletview.h

* Fixed compile error

* [Wallet] Add some LOCK to avoid crash

Github-Pull: #625
Rebased-From: ed23d0d62054156e0c2cb632fecbd65588c50e8c

* [Qt] Show progress percent for zpiv reindex operations

`-reindexaccumulators` and `-reindexzerocoin` can take a considerable
time to complete depending on system hardware. Lets show a progress percent
 similar to `VerifyDB()` on the splashscreen.

Github-Pull: #612
Rebased-From: 48e502aa2e9a22911f92eb0e5ea9422c6facf4c4

# Conflicts:
#	src/main.cpp

* Guard against division by zero for reindex zerocoin/accumulators

in the event that the local chainActive is equal or below that of the
relevant zerocoin block heights, there is nothing to do, so bypass
the internal process.

Github-Pull: #612
Rebased-From: bed79e29c2adfc4ed0c7e73f2b78f615e1f51385

# Conflicts:
#	src/main.cpp

* Move ReindexAccumulators() call to be inside parent conditional

Not much point in checking if the listAccCheckpointsNoDB list is empty
outside of when the wallet is started using `-reindexaccumulators`, as
it is always empty outside of that case.

Github-Pull: #612
Rebased-From: 5127486481e10fc00a9e4d73a9e0bb75e2927305

# Conflicts:
#	src/init.cpp

* [Travis] Add separate job to check doc/logprint/subtree

Break out a new job to do the basic linting that check-dock.py and
logprint-scanner.py did.

Also add new scripts to check the sanity of
any git subtrees and to check that new pull requests don't contain any
trailing whitespace.

Also, remove the outdated slack notification callback

Github-Pull: #639
Rebased-From: 6f695b5e01981f70b9e7fa4ecfc7678d90f511d0

# Conflicts:
#	.travis.yml

* [Main] Write to the zerocoinDB in batches

instead of using a separate write operation for each and every bit of
data that needs to be flushed to disk, utilize leveldb's batch writing
capability.

Github-Pull: #636
Rebased-From: cd672cdd15cf096ab3f65978ca53e9cd5ddbba3b

* Remove unnecessary whitespaces

Github-Pull: #646
Rebased-From: a5542592091f9f6e599bffd614f84a4b5c2481d9

# Conflicts:
#	src/qt/privacydialog.cpp

* [Utils] Add copyright header to logprint-scanner.py

Github-Pull: #649
Rebased-From: 79d618fdfb5d372f84c9e8fb0d2ab382f97a43ad

* [Doc] Change aarch assert sign output folder
Github-Pull: #585
Rebased-From: a810714d00b2c7a94e2583b96f4f59eac9cf0801

# Conflicts:
#	doc/release-process.md

* Check whether tx is in chain in ContextualCheckZerocoinMint().

Github-Pull: #610
Rebased-From: c4141aa45f4aac77c5ef56ba8e70abef9859d208

* Merge #651: [Doc] Release notes for v3.1.1

6bdef7ad2 [Doc] Release notes for v3.1.1 (Fuzzbawls)

Tree-SHA512: 8fb6c3ef52064b5542c5acdd2b93165fd2f1054b9e2ba607fcdfde3c5c4bbd6e6b8f05ac2fff53e97791c23be6366d60af1957e6e76786daecad591d3d4f8f9b

# Conflicts:
#	doc/release-notes.md

* Bump version to 3.1.1

# Conflicts:
#	configure.ac

* Fixed coin name

* Fixed coin name

* Fixed coin name

* Fixed coin name

* Fixed coin name

* Fixed coin name

* Fixed wrongly replaced coin names

* Update Nomenclature

CzPIVWallet to CzVITWallet

* More Nomenclature Fixes

CzPIVWallet to CzVITTracker

* Fixed compile error

* Merge #653: #642 change COINBASE_MATURITY to Params().COINBASE_MATURITY()

a28ab6b #642 change COINBASE_MATURITY to Params().COINBASE_MATURITY() (Alko89)

Tree-SHA512: 6aae8a78998fb4e5d850a4c5d97de236c7212e0168329c5fb930efe22ee9d16c233957871c2d7a5cdfd67b28695bd1b31f06a4a99af411bafb362d74bc917202

* Merge #668: [Qt] Clean up Multisend Dialog UI

34006fe Comment/Whitespace/nullptr cleanup (Fuzzbawls)
f7e5ebf Remove useless returns (Fuzzbawls)
f5e9a68 Add proper translation functions for user facing strings (Fuzzbawls)
1ced6fd Clean up header includes (Fuzzbawls)
0931ae7 Remove boost dependency (Fuzzbawls)
e31c007 Remove unnecessary namespace declarations (Fuzzbawls)

Tree-SHA512: 8a7f3df2a9f55b39ea678ec1a917b421b9507a63cafa63f00236670a16b35414e8ef1ca1e1712a0329da6b3aff15f53bc26180562feb269e83202340d67bc60b

# Conflicts:
#	src/qt/multisenddialog.cpp
#	src/qt/multisenddialog.h

* Fixed compile error

* Merge #656: [Wallet] Fix double locked coin when wallet and MN are on same machine

9aaae52 fix double locked coin when wallet and MN are on same machine (Tim Uy)

Tree-SHA512: c7690e88c1b13a5c934699068c0579a5ecb0a7e3c9b4f5834e25745a948459990275d2a7ffc50a26a4171cc39a3e5b9ed86750a92c99ad95b76212c891bcc41e

# Conflicts:
#	src/wallet.cpp

* Merge #675: [Qt] SwiftX - intuitiveness

a4428c8 GUI - sendcoins dialog: fee / SwiftX - intuitiveness (random-zebra)

Tree-SHA512: 224dcc3bb5f818f8e3512c076650bd29968d338c52045b9d6fdf93c1bd8c12aa10ef474c59b0b1459693029c20fc7f8d556d58bbf18a3f18d19086bb0de5192f

# Conflicts:
#	src/qt/forms/sendcoinsdialog.ui
#	src/qt/sendcoinsdialog.cpp

* Merge #680: [Qt] Privacy dialog: hide/show denominations

cffca03 GUI privacy Dialog: hide/show denominations (random-zebra)

Tree-SHA512: 3294addc8ad3664b58219cb215d50030dcc2e4e6935de6104335c88526976786388202510946ed8cf56b66700ce880b3bf9096de0a910a1871acdf98600d0726

# Conflicts:
#	src/qt/privacydialog.cpp
#	src/qt/privacydialog.h

* Merge #655: [Qt] Fix PIV balances on overview page

2c2988b416 Simplify watch only balance display logic (Fuzzbawls)
45a1537a1b Remove trailing whitespace from overviewpage.cpp (Fuzzbawls)
04435126ec Improve code readability and logic for zero-balance hiding (Fuzzbawls)
142bbc2e8d [Qt] Fix PIV balances on overview page (Fuzzbawls)

Tree-SHA512: 52f0cabadad0eab9455141dbaecb4cdde9e578c3ec5c1607b78b13568aef9a61964e7f9889528e2c298ed6143373a12f1bef23438d61683909d81a927b1b17df

# Conflicts:
#	src/qt/overviewpage.cpp

* Merge #667: [Zerocoin] Clean zerocoin bignum file

64eafeaf5a [Indentation] Replace tabs with spaces in libzerocoin Accumulator files (warrows)
383468e134 [Refactor] removed unused Bignum typedef (warrows)
2e606dddd5 [Cleaning] Remove unused get/setcompact functions from zerocoin bignum (warrows)

Tree-SHA512: 4cce2edbf51222000894a7dd3aead6d95b948d67ac0936b49fdceb69d5fc5c0f4d0e1f57a07c191195a312a9b75e3f2b0531b1b77022822f97c88cb0b923e66a

* Merge #671: [Build] Update to latest leveldb

85c2a28 travis: run subtree checks for leveldb (Fuzzbawls)
1d99c21 build: update build system for new leveldb (Fuzzbawls)
4f5b53d Squashed 'src/leveldb/' content from commit 64052c76c (Fuzzbawls)
d3e48bd Remove leveldb path in prep for subtree init (Fuzzbawls)

Tree-SHA512: de3d6fc36393866c8aefde550bb015e6de1c77684653d2e140ff90d638aa3d47c63b12f826fa474cc004f888d76c4108c4516f99cb6c77afb40336ea8f631cfa

# Conflicts:
#	configure.ac
#	src/Makefile.am
#	src/Makefile.qt.include
#	src/Makefile.qttest.include
#	src/Makefile.test.include
#	src/leveldb/README
#	src/leveldb/doc/doc.css
#	src/leveldb/doc/impl.html
#	src/leveldb/doc/index.html
#	src/leveldb/doc/log_format.txt
#	src/leveldb/doc/table_format.txt

* Merge #697: [Trivial] Remove Redundant Declarations

0456fe2 Remove redundant function declarations (Fuzzbawls)

Tree-SHA512: c225a7446f50da179656b2eb254cb1a2cd2c0be79831fc5843536cd3f2247f367bf206706b493abafeb237dc679731692df61b26cd0cf2e610defd4d025eb41d

* Merge #699: [Refactor] Use references instead of copies in for loops

b0aeab0 [Refactor] Use references instead of copies in for loops (Fuzzbawls)

Tree-SHA512: d1e418888bcc6b72674f8f5f14fbca47f35a5becfcd66873c5632b29ccee3098cf58f01a664290320998994f75966cb2f19da146ee777da17509de79fc886be3

# Conflicts:
#	src/qt/clientmodel.cpp

* Fixed compile error

* Merge #698: [Qt] Remove Qt4 build support & code fallbacks

bc1fb933b1 gui: Remove QT_VERSION fallbacks for Qt < 5 (Wladimir J. van der Laan)
cd754957c6 build: Build system changes to support only Qt5 (Wladimir J. van der Laan)

Tree-SHA512: 8de2e99190e125285c8e6d69164defa4b4441b761befa3faaf96f77eaae2fa07e345673d28b54784a9c1b0a491a5fcf6260e7583b04eec0970af4fd08cf57d8a

# Conflicts:
#	build-aux/m4/bitcoin_qt.m4
#	src/qt/guiutil.cpp
#	src/qt/openuridialog.cpp
#	src/qt/vitae.cpp

* Merge #703: [Docs] Add missing automake dependency

a88b2aa40a [Docu] Add missing automake dependency (Mrs-X)

Tree-SHA512: 95b3d47afeeb52b50f5d0026bf3b7425864b9bc9cb698f5e45bf32770f7a5ca19255a36d8f226af8d86dfe4372c9fa6ac09c2b8e6476a51c1fc1d7f6eeae7465

* Merge #693: [UI] Add address to the payment request history

a993d56e22 [UI] Add address to the payment request history (warrows)

Tree-SHA512: 25e437e7323d57a9c550c89911fd1efb291c18f4778034b436ea6393a4fb6102b76d32e1cda5dc345943c5b75f08d841fd42cafc1caa7129447aa3dbfe288ca1

* Merge #677: [Qt] change colors for tx labels in history/overview

1d77b186b7 gui change colors for tx labels (random-zebra)

Tree-SHA512: 76185182c0e0997b4bc226e59ff9fd7012e74c50eead81247d5948656ef3f99ac7d8b8dc28c01d796638df3bf9a8d8e97b2755af7d8a1f7c6c4091f1b6f6a607

* Merge #708: [Build] Remove stale m4 file

6cf83ad [Build] Remove stale m4 file (Fuzzbawls)

Tree-SHA512: 89774b3969eb3a7455b71592881a1ee542c75bb21e7b917b1daa67303255e5918772c804d75328d1cde8bc60d20ed48f44463d0e2941857ffba0fb75b9e0d961

# Conflicts:
#	pkg.m4

* Fixed compile error

* Merge #706: [Build] Remove throw keywords in leveldb function signatures

ef26a15 Remove throw keywords in leveldb function signatures (Fuzzbawls)

Tree-SHA512: 707447ca5895fd13c8e91ab4c37ebe5fac67bf9480ee102e7aed18fe0042bd83d4479c1603de6979d0111e22d7b6174c5301e1131719fc2eb7a4a49451808a13

* Merge #683: [Qt] receivecoinsdialog - address control + clean UI

e5abd29 receivecoinsdialog: add button for Receiving Addresses (random-zebra)

Tree-SHA512: 2b26ebf81f0064d4feeb0d8967ea52c141cd0eb0354033c5ed92a7a0477f24b1dc2670e07bb08884572d50b5e92dcffd6ecd0156c9c3f800c1baa688ad3017b3

* Merge #711: [RPC] Don't allow backupwallet to overwrite the wallet-in-use

3158a8e [RPC]: Don't allow backupwallet to overwrite the wallet-in-use (Fuzzbawls)

Tree-SHA512: 7d76cfa07af4cec108d2f36859c44344439bb7ad31b83c6a8ef30790db7dbef2bd827eb520d41d7e1dfc47fa1ca41973978c21e7692b34bdb62335fa76b83904

* Merge #704: [Build] GCC-7 and glibc-2.27 back compat

f7cfcf7 Use IN6ADDR_ANY_INIT instead of in6addr_any (Fuzzbawls)
0063c1e GCC-7 and glibc-2.27 compat code (Chun Kuan Lee)

Tree-SHA512: 4a8522fc0c17447221b8515d3b606961279f1e29e41be1239e2b866c0983c0a57f0a76640afa85efcf0e676146ef48fd0d436432ab48cbe50efafde217012414

# Conflicts:
#	configure.ac
#	src/Makefile.am

* Fixed compile error

* Merge #688: [Zerocoin]  RPC import/export zerocoins private key standardized + Cleanup in AccPoK and SoK to avoid redundant calculations.

eb73e16 aM_4 times aR stored (furszy)
68dc475 remove useless last loop round vResult serialization (furszy)
62b5f05 AccPoK, avoid do the same calculations many times (furszy)
111eb7e unneccessary mint (furszy)
a0cfc25 import and export zerocoin, private key format standardized (furszy)

Tree-SHA512: 5674108ad54a7ef2e613c28f4c40188bdd843075772dd87d263c2978bd407bd167380016852c737389a2f01831f9b586d33c9aa9f4c42fe2a6896e5e11e5033e

* Merge #692: [Zerocoin] Remove explicit copy assignement operator from Accumulator

1524ecf [Zerocoin] Remove explicit copy assignement operator from Accumulator (warrows)

Tree-SHA512: f62cf2cfaf85b6a4aa3848e927d7fe09f31a23de558de709986a1f80803b3528d562aa797ffb548f95fbe7cd178b84de73ea02fce55dea008276b3f5284a6c29

* Merge #715: [Refactor] Remove GetCoinAge

c93bf2b [Refactor] Remove GetCoinAge (Fuzzbawls)

Tree-SHA512: 0a27a423a55e2ee3e5656139c9139fe7f40d659ce8538009ec104856b51c12333125f5a31f948669785be0621b77132c15b8349f2288b407a6899c5db700c98f

* Merge #719: [RPC] Fix verifychain

e2692dd [RPC] Fix verifychain (Fuzzbawls)

Tree-SHA512: e858d5c0907472eff031ff3de755c0853d9c5fe49346a3fbb76cdebffafb22190b36ca3c24e1bf87523ad7d9e6e1836c3849c4a2800f12a29612bb20b0ef4c7b

* Merge #720: [RPC] Sanitize walletpassphrase timeout argument

916d332 [RPC] Sanitize walletpassphrase timeout argument (Fuzzbawls)

Tree-SHA512: a12dc4bbd42a7e3460272883e8c618e26ecdc2349bac523aa1f1bc6722f393cc4dc89a66b4fbedcd5cff72eab8113b1bec43ba1c28819fb4c2f32a7c7a6f6cd4

* Merge #714: [UI] Add address field in receive tab

db51d53 [UI] Persist receive address through wallet restart (warrows)
5f7929f [UI] Change receive address upon receiving funds (warrows)
b10252b [UI] Add an address field to the receive form (warrows)

Tree-SHA512: f6ab8d1834a3fb5f5f8343395f1e960161a308e6bc5a8c9b8899cb4cf368b5511642dd1c89764a6d47fc0c85ac70a19a82d36fc23476c3fbe3422eb43c92ebbd

# Conflicts:
#	src/qt/forms/receivecoinsdialog.ui

* Merge #721: [RPC] Fix movecmd's help description to include amount

76d17e9 [RPC] Fix movecmd's help description to include amount (Fuzzbawls)

Tree-SHA512: ea74b97641b4fe31d906af7e9488003e348275f52586f6fa4af8915790344a080fb62d81a996950e14c1d425e6831acdfb05db46a7cf8f47e368e8f197058c2c

* Merge #722: [RPC] Add more verbosity to validateaddress

e3c624d [RPC] Add more verbosity to validateaddress (Fuzzbawls)

Tree-SHA512: 55e9d0766d528d0f4d94729bb2cbf6d2eca52fcfa31ca88520cf2e048fa129eb787b197b0308e399388c281f567b36cd4a541901251f6879c4e8560d5e581b8e

# Conflicts:
#	src/rpcmisc.cpp

* Merge #723: [RPC] Error when calling getreceivedbyaddress with non-wallet address

93b830f [RPC] Error when calling getreceivedbyaddress with non-wallet address (Fuzzbawls)

Tree-SHA512: fe1b5b6b6435690c5a336a108e99995d9bc0d39ed2ecd12d22ff2a4b9f141fba63dd2f8bdf9b09be3739dbbcf382eb3f9e629967566f8c18ac49f2b83c0431fe

# Conflicts:
#	src/rpcwallet.cpp

* Merge #724: [RPC] Ensure that a numeric is being passed to AmmountFromValue

1f56fba [RPC] Ensure that a numeric is being passed to AmmountFromValue (Fuzzbawls)

Tree-SHA512: 3adf9c60ed5f7474b89527054744f55e60584a3a56ddc6977a2e35919119c902e9c2f4a62e841410b871f778530c9586dbe59fc3523747d82d37d27d76e92511

* Merge #725: [UI] Sort numbers correctly in zPIV and coin control dialogs

da28a5c [GUI] subclass QTreeWidgetItem for zpivcointrol and coincontrol (random-zebra)
cf9096c [UI] Sort numbers correctly in zPIV control dialog (warrows)

Tree-SHA512: 9fb4edad15b8ba3eeebd8ccd14c5a306b90293c0b6984f8a7d7484a827d4e2d4cce43867d38e02c9e8991f8857058f821d41648e794829c8e00238513d30973d

* Merge #730:  [Wallet] fix bug with fWalletUnlockAnonymizeOnly flag setting

eb08890 [RPC] fix typo in 'walletpassphrase' help (random-zebra)
06254d5 fix bug with fWalletUnlockAnonymizeOnly flag setting (random-zebra)

Tree-SHA512: af6eed612d259421e863511b7e0a8906187f613c92b779975e9becc4e43812fa2fdb591dbfab48f9968d3031e9e0bf7539d53d0cf3b5e32c03adcf2fbf13729b

* Merge #731: [zPIV] Fix bignum overloads when using OpenSSL

69459a3 [zPIV] Fix bignum overloads when using OpenSSL (Fuzzbawls)

Tree-SHA512: 54aa584ea41524d995fa4ddb63c57f2a5c331f278bf77ccea698ef135d877ac0b3a5695a7430373d194fd87544606e423f588e28cef7603e0e8c4d5b164bd33c

# Conflicts:
#	src/libzerocoin/bignum.h

* Merge #734: [Staking] Ensure nCredit is correctly initialized in CreateCoinStake

7eea7d0 [Staking] Ensure nCredit is correctly initialized in CreateCoinStake (warrows)

Tree-SHA512: da9f87385f639424ec75ab697487249510a38ff4768703cdee80df063d035d8ac07274d612b195c081c6238a42d9a99f4d829fdf9144775afaa1de8a6b7b8e89

* Merge #735: [Qt] Stop using dummy strings in clientversion.cpp

cab33db Stop using dummy strings in clientversion (Fuzzbawls)

Tree-SHA512: 7513fc0580f3eba45c085fffd0bf682b947268773dc0bf440926012768dc30ef70ee1acd63b21a51250a72118ca780a62d22e387af1a5797ada2847638805a71

# Conflicts:
#	src/clientversion.cpp

* Merge #733: [GUI] Hide orphans

960137a05a [GUI] Add option to hide orphans in overview and txlist (random-zebra)

Tree-SHA512: d9c6b2cb073d9352b910bef3089a755e8991618b7f427e4e4ddfb48364103d5c63b65197d16f405b58aac7ab5d3ea00a886d51e162965d809346074d065d75ff

# Conflicts:
#	src/qt/optionsmodel.cpp
#	src/qt/optionsmodel.h

* Fixed compile error

* Merge #736: [Utils] Update linters for python3

e66e20ed18 [Utils] Update linters for python3 (Fuzzbawls)

Tree-SHA512: 8c9bfa3bb8464ba8acbc1a9997dca656ca86f776b9eacc23aad45d2c11c64bd5a611ecd51778bd20d1814b5573d6b9a0d994e7b5105bd5f9a90b4ff5534768ba

* Merge #726: [RPC] include mints metadata in 'listmintedzerocoins' output

864aef8 [RPC] include mints metadata in 'listmintedzerocoins' output (random-zebra)

Tree-SHA512: bc19fbf7af754d4616f658668e1b4ad351e8e97b29038ab02134de4f589222e3f30f5b2ccf8b69efa00a6da56f02e5f87eb12f9ca71afc8047040c6bde70d843

# Conflicts:
#	src/rpcwallet.cpp

* Merge #727: [RPC] Add 'spendzerocoinmints' RPC call

f8ec8e0 [RPC] add 'spendzerocoinmints' RPC call (random-zebra)

Tree-SHA512: 95933d5f4a2de70cf9b0b29b3ed922c39b12059f08a66cd7ddfd60a8f21274fc3ef3f76b6fc70c87768b137b78fccd0f59d22b99a99b53c3d77fc20a6045384f

# Conflicts:
#	src/rpcserver.h
#	src/rpcwallet.cpp

* Fixed compile error

* Merge #729: [RPC] Fix RPCTimerInterface

0053876 [RPC]: Fix RPCTimerInterface ordering issue (https://github.com/bitcoin/bitcoin/pull/7317) (random-zebra)

Tree-SHA512: 0e3b5ea32d48d824e37fff701c420e835c1da011cfe10302d47773341ca303ad680b85b2e6d505cda6d29be3e1c0964ee5880f66a67b1aed07aa510ba6fdc312

* Merge #737: [Refactor] Remove 'boost::lexical_cast<>'

a1a8fb9 Replace 'boost::lexical_cast<std::int>' with 'std::stoi' (random-zebra)
6c7b8ae Replace 'const boost::bad_lexical_cast' with 'std::invalid_argument' (random-zebra)
e89923f Replace 'boost::lexical_cast<std::string>' with 'std::to_string' (random-zebra)

Tree-SHA512: 37900a8cadacab61d31872d55c8cb1a654a4f395ffd51292a370d9fb15f313c86bbb5c15f3278394a59ae523341b94a0d091167283e4e87d5d41287502917373

# Conflicts:
#	src/activemasternode.cpp
#	src/masternode.cpp
#	src/masternodeman.cpp
#	src/rpcwallet.cpp

* Updated fundamental node

* Merge #740: [Net] Pull uacomment in from upstream

ec8f69a [Net] Pull uacomment in from upstream (Fuzzbawls)

Tree-SHA512: b6f30a711967af188dd4aab42338d161c5ee587eb36a2a3625be81c32c8b61ce03a19f5485b3b3cbc945f903b2eb32db6a3b081c2ef3e9561aa538583cb4713a

* Merge #741: [GUI] Sort by 'data' in zPIV and coin control dialogs

8b87ad3 [GUI] introduce CCoinCointrolWidgetItem and CZPivControlWidgetItem (random-zebra)

Tree-SHA512: 59f8fc92c454ad3fa07f49f8bd1b3313e60b60eff413723ae16d6a12b440416a7db89d5f9f20a8813f9d23574eeeaba635f84bb9863457aae5dc0818d9971512

# Conflicts:
#	src/qt/zVitcontroldialog.cpp
#	src/qt/zVitcontroldialog.h

* Fixed compile error

* Merge #742: [RPC] Add masternode's pubkey to listmasternodes RPC

132166e Add masternode's pubkey to listmasternodes RPC (presstab)

Tree-SHA512: c8d7a50aa275b0da845c86f942fe49f2e1974983bf9a9553cef6897760b737c07950ba828196ebaa36f6992593085695fe814923b39b7bbf410533eb51ebe9cd

* Merge #743: [Refactor] remove CPubKey::GetHex

63daf40 [Refactor] remove CPubKey::GetHex (random-zebra)

Tree-SHA512: 360902e7e54c296c73de233f2fdb3b057916141c54d12f594a9a0c84e75cc8d554cef16c2119c2c2e886448f83bdf37bdb8bda39156040e4f6afab962aa9cc0d

* Merge #750: [RPC] Add mediantime to getblock/getblockheader output

14c2d6a [RPC] Add mediantime to getblock/getblockheader output (Fuzzbawls)

Tree-SHA512: a950428f78eb027b9ea0570504d61983962374e0668514233528bba549da3156d173356a46d05a6ca786aae422d1b10f256be38bccba078f5d272d4d455a0916

* Merge #751: [RPC] Show the configured/set txfee in getwalletinfo

02f330a [RPC] Show the configured/set txfee in getwalletinfo (Fuzzbawls)

Tree-SHA512: bb6e56c2d2b72d84e9fee9da817368368f5b46622566019d3e8ca95762db82718ef88136955ba285c63a7ff8f4d8259762f8b42f608222ff0c473304ccabca70

* Merge #749: [Build] Update genbuild.sh script

3eef1b9edb [Build] Update genbuild.sh script (Fuzzbawls)

Tree-SHA512: b94abc47dd8effbefd40c933d33053ff7a0ec7ca86b17fb98c0ea9c7a09afee7c6a9facf59e57d0f89245f09d3312b301178404e18c30ec651308be23ddbaad6

# Conflicts:
#	share/genbuild.sh

* Merge #752: [Build] Fix Thread Safety Analysis Warnings

db478c02d3 Ust std threading in sync.{h,cpp} (Fuzzbawls)
19ac6d8f1b Remove Boost dependency from the httpserver (Fuzzbawls)
3e22c85288 Miner: use std methods instead of boost for timing conditions (Fuzzbawls)

Tree-SHA512: f6ba63f8885791cc7a5bc0bf1feb88acba6b1e1832005d76191c2ab98cdce1819becf2941af9e01537be189aa81cddefe1637dde2225fcf9deedca7d661553ca

* Merge #760: [RPC] Show BIP65 soft-fork progress in getblockchaininfo

e723d969c2 [RPC] Show BIP65 soft-fork progress in getblockchaininfo (Fuzzbawls)

Tree-SHA512: e8a214bd48f567e16d6eb3f0634ff7907802a7935ee60e89ffea59f4a00a445fa2735246048ed762e488d31bc5b030c50b6ecab9bde855247b858f12b8be6ce6

# Conflicts:
#	src/rpcblockchain.cpp

* Merge #769: [Main] Unify shutdown proceedure in init rather than per-app

518542f [Main] Unify shutdown proceedure in init rather than per-app (Fuzzbawls)

Tree-SHA512: 6e734ce002e236c3c2c59c2e8e93d87f5fe577b3f5546804b117a71255266cc4012d847d6a1d9b019a7b763124b45987c2dc3f95294670489cac269beceb2e3a

# Conflicts:
#	src/qt/vitae.cpp
#	src/vitaed.cpp

* Fixed compile error

* Merge #747: [GUI] Hide orphans - contextMenu action

b3ff4a1 [GUI] Add action to hide orphans in overview and txlist (random-zebra)

Tree-SHA512: 2b1a6fa71b98881448f4f0148b3a4b02e87ced4ff9212b98050fa717949ec85e4a523533896d9e20d8fefa65d2f2dcf3f0d4152f36a0dcb7def4a8ff4efa64e6

* Merge #755: [Wallet] Fix zPIV spend when too much mints are selected

12255f3 [Wallet] Fix zPIV spend when too much mints are selected (warrows)

Tree-SHA512: 1acc02d544746b2033ceba6050739a2679ad15745539a971b6983b3907524bcfb5f889ba4a4ccacd2bda11a358e2e0fcf7117a9244a6572a5fa24eef5a4bbe6f

* Merge #776: [Qt] Add a security warning to the debug console's default output.

03fef18 [Qt] Add a security warning to the debug console's default output. (Fuzzbawls)

Tree-SHA512: 371df4c48f3dd0ceb1f22a5c89d8ddc68bcef579775b22db89ce9f0da5f3e882406073b67211e3dc672290f0839ba69f67ccc892326e972564d4c23ded09dc95

# Conflicts:
#	src/qt/rpcconsole.cpp

* Merge #770: Do not record zerocoin tx's in ConnectBlock() if it is fJustCheck

f260f5b Do not record zerocoin tx's in ConnectBlock() if it is fJustCheck (presstab)

Tree-SHA512: fb5cf7294a4614fc10b862821d73ab5e47f78263e55837f553b146345fcd4043d62cd3026535ca1ca07f4070ff61deb582907848dc0b447c1803de430b79b5f3

# Conflicts:
#	src/main.cpp

* Merge #771: [Main] Clean up sync.cpp/h with upstream declarations

15a9549 Finalize cleanup of sync.cpp/h (Fuzzbawls)
d7e16c7 Use c++11 nullptr instead of macros or void(0) in sync.cpp/h (Fuzzbawls)
a0a7191 Remove unused fTry from push_lock (Fuzzbawls)
a3cc26c Initialize lockstack to prevent null pointer deref (Fuzzbawls)
aea76f2 Remove Boost dependency from sync.cpp (Fuzzbawls)

Tree-SHA512: 5988a769dc5d6acbf05c4c586b4e6fb55d391db3316d876b10cdf854e13804308df7c3b6246e63d4432811b2af5a99e27d866b0304d887cd01f9c9eae05fd14d

* Merge #762: [Random] WIN32 Seed Cleanup: Move nLastPerfmon behind win32 ifdef.

3f8c6b7 WIN32 Seed Cleanup: Move nLastPerfmon behind win32 ifdef. Code to avoid calling Perfmon too often is only needed when perfmon is actually going to get called. This is not intended to make any functional difference in the addition of entropy to the random pool. (21E14)

Tree-SHA512: 24a58a905eaa418ccd7fed7e0789c664e29583f3788e3e5aa11a371923e579d1a253705bdd34a2ba28c3a19f0bbd7d87a16eccaa12ced9e7c8c81f95516e2821

* Merge #566: [Qt] Add automint status bar icon

ec8264a [Qt] Add automint status bar icon (Fuzzbawls)

Tree-SHA512: adba78850ea1d633905918a51a7951df630a0d118bea9d42f42a2be4973fbdd86214a0c2eaf28f61360ade982a84fe23b46a8bde0dc67640d295de4814bff88e

# Conflicts:
#	src/qt/res/icons/automint_active.png
#	src/qt/res/icons/automint_inactive.png

* Merge #781: [Qt] Don't show staking/automint status icons without a wallet

042be3fc2e [Qt] Don't show staking/automint status icons without a wallet (Fuzzbawls)

Tree-SHA512: 75d8261996fc0c2ec1441b9f81cd6855d71e3015a92a65faaf57d03a4a3c69ebac7ed9c2313ee87f7a121d18c9576e515f05e3fcaa628e24d7713bca1140b366

* Merge pull request #778 from veilgets/patch-1

Update README.md
# Conflicts:
#	README.md

* Merge #774: [Budget] Make checks for MN-autovoting deterministic

dd0dec7 [Budget] Make checks for MN-autovoting deterministic (Mrs-X)

Tree-SHA512: 99f9803e0049697b3b3350f60bacc1d6094076c835b1b6229552e5d6da5c73d5b71465551f262791b945158574d1ecb92c78be7aeb07a1d2f4cbd8e895af5032

# Conflicts:
#	src/masternode-budget.cpp
#	src/masternode-budget.h

* Updated fundamental node

* Merge #761: [Refactoring] Abstract out and switch openssl cleanse

9ac7e6a Switch memory_cleanse implementation to BoringSSL's to ensure memory clearing even with link-time optimization. (Adam Langley)
b1a1154 openssl: abstract out OPENSSL_cleanse (Cory Fields)

Tree-SHA512: 859567247c139bcd766cbb30186f0e3d4602e49a22801ad63e23b7fd0c65b63d7bfd94990bdf6052b1a641f39da31a5a16b6d1f4a574460c4f158089e336332a

# Conflicts:
#	src/Makefile.am

* Merge #783: [Depends] Update QT to 5.9.7

caea417ed Update QT to 5.9.7 (cevap)

Tree-SHA512: 34197e7b92711f3f0392b071de58900592ab8bb2ed3e50cd853cf2da56ba2f6d9b3ee57e4d01f3c2cdce4710ebe0c079bba434263b9af65141363086b9213025

# Conflicts:
#	depends/packages/qt.mk

* Merge #791: [Qt] Fix Missing Explorer Icon

8f17bd594 Fix Missing Explorer Icon (sicXnull)

Tree-SHA512: 4a7c659541fc6cc72aa2ab3020477793988e5a89054b7d6fa4179860c615bec47736ade946e9e9eed263d9620e7121a963330ff538bed4a1d99cd26a8cf10964

* Merge #788: Update license year 2019

406c540 Update license year 2019 (Everton Melo)

Tree-SHA512: 69addbde214d520650b8f39a36acf72b149634f1a7e5abf47b2e32bc8e4a3a9cb25948c61d511541fd78a92f38d074adc69093515a3b237f8e44510fd37daac3

# Conflicts:
#	COPYING

* Merge #759: [Wallet] Avoid failed zPIV spend because of changed seed

340c720 [Wallet] Improve performance when listing mints (warrows)
f19bb60 [GUI] Show when zPIV seed is inccorect in coin selection (warrows)
fac0274 [Wallet] Stop trying to spend mints with wrong seed (warrows)

Tree-SHA512: 071cd6293a44b8f451cc7e81089972318336f52c93d970b318ffa79052052973389a3cfc1c6059355a35ac0ea0064bf98e250775ad7cdc23b02b5d98ac0c4658

# Conflicts:
#	src/qt/walletmodel.cpp
#	src/zvittracker.cpp
#	src/zvittracker.h
#	src/zvitwallet.cpp

* Fixed compile error

* Merge #794: [UI] Open related options tab when clicking automint icon

094eedc [UI] Open related options tab when clicking automint icon (warrows)

Tree-SHA512: 8d0257aaff29ca19b44a93367dd20bcf7a48f06a42b78432be4f461c41506cee0a66bcb57ca423db392e0907ebfc5b0a411c72c5819f5209c76f53761cec4ce9

* Merge #800: [Net] nLastTry is only used for addrman entries

33b76b7 nLastTry is only used for addrman entries (Pieter Wuille)

Tree-SHA512: dd7dce5793fc685bf57961e235d7355b63bee27e99bc0579e90059f5ccb390018b68273a5e002c71fb5a54e324c79366c755950b23f066773295f7e66d28fc66

* Merge #798: [Net] Improve addrman Select() performance when buckets are nearly empty

7dfa9b2 Improve addrman Select() performance when buckets are nearly empty (Pieter Wuille)

Tree-SHA512: 64a16dd027174a45931e73c82e04629738b4caca8500d8cb04a1739d5f5529726d3ff27357f0bdf881fc4ccf278a7a6ac2b904e3a7822af32d8dce096ef16dce

* Merge #804: [Depends] Update zmq to 4.3.1

189d6a958e Update zmq to 4.3.1 (Dimitris Apostolou)

Tree-SHA512: 0226edb402b0594c616e580fe497d600eb2144d8eba8aa458d8255b093173306ff99429058c356e742896a4ac9ecbf92507b2da5cb16e8aa95c8c52860a20a21

# Conflicts:
#	depends/packages/zeromq.mk

* Merge #763: [Wallet] Add automint address

2159a58601 Add newly created automint addresses to the set (Fuzzbawls)
1c0169e494 Show automint address state in getwalletinfo (Fuzzbawls)
9374d5123b Add RPC command to enable/disable automint address functionality (Fuzzbawls)
0a364d4ff8 Add UI option to enable/disable automint addresses (Fuzzbawls)
72491216cf Add runtime/startup option to disable automint address functionality (Fuzzbawls)
65aefe8021 Add newly created automint addresses to the address book (Fuzzbawls)
6c2df854d9 Ensure wallet is unlocked for createautomintaddress (Fuzzbawls)
4205d57c14 Add automint address (presstab)

Tree-SHA512: 76900c564eb6abe3cfa1606559aba4d6725be04126268b06215619fef8f83d58e953985469e2c97086a6cd0e6d60fb9f9e58aca1cee56e1a7bf9668e82c94fa8

# Conflicts:
#	src/init.cpp
#	src/qt/forms/optionsdialog.ui
#	src/qt/optionsmodel.cpp
#	src/rpcserver.h
#	src/util.h
#	src/wallet.cpp
#	src/wallet.h

* Merge #768: [Net] Zerocoin Light Node Protocol

5bd855c673 removing apocaliptic comment (furszy)
95947bb9f7 logprint fixed (furszy)
91780b54cf log new line added + lightzpivthread .h/.cpp (furszy)
95da6abadb Incorrect number of arguments for LogPrint(f) statement found. fixed (furszy)
d72543ffe3 node_bloom_light_zc invalid if statement fixed (furszy)
a9b992adcd remove old comment (furszy)
09ba617e26 remove tab spaces (furszy)
d373e1d25a minor updates to PR 768 (random-zebra)
7b2310cad4 Zerocoin Light Node Protocol (furszy)

Tree-SHA512: a85026a9626aacff07826d2a7eab198327d82d620fce4d1f64962e6c0158fa4a0c3c5c355aaed94809928fe5dd77e90810244cb04e41152517d48ebcb76d04f2

# Conflicts:
#	src/Makefile.am
#	src/accumulators.h
#	src/init.cpp
#	src/net.cpp
#	src/protocol.cpp
#	src/protocol.h

* Fixed compile error

* Merge #758: [Depends] Update libsecp256k1 to latest master

c6634ef Squashed 'src/secp256k1/' changes from 452d8e4d2..1086fda4c (warrows)

Tree-SHA512: 7ebcd89f661b94c7ee52c57c3b1879e5ddf363205b326c8ed442bd4f88765701f22b3413e296519b589a4b0d150488a9dd911459eb9b9834d4e8dde3e21049b1

* Merge #802: [Refactor] Remove begin/end_ptr functions

9f89762 [Refactor] Remove begin/end_ptr functions (warrows)

Tree-SHA512: 420b7dad43df23876cd891104c8a3f1c557c9dc20fa726c69fe80eaf13b353e4301e8c0abc2abde29896f991dd88aaddc7d19996a3b7287a6244fbfd5700facf

# Conflicts:
#	src/serialize.h

* Merge #792: [UI] Add a budget monitoring and voting tab

4008865 [Travis] Fix trailing whitespaces (warrows)
87b9809 [UI] Rework proposal frames (warrows)
8b8a712 [UI] Add global budget information to governance tab (warrows)
f7674fb [UI] Clean proposal list when updating (warrows)
bbf3274 [UI] Use only one column for Proposal list (warrows)
d6c68c6 [UI] remove unused textlabel from governance page (warrows)
39eb903 [Qt] Add basic GUI voting tab to the wallet (Fuzzbawls)

Tree-SHA512: 438afbb8ed1dbe0892164b6f6b3d0ac3b825b2e7855115f1137bf5bcf454533e375774cd835c19ea529bb1ff0a4f886a3e71e809e9893a102ae841a1a4be8f9a

# Conflicts:
#	src/Makefile.qt.include
#	src/qt/res/css/default.css
#	src/qt/vitae.qrc
#	src/qt/walletframe.cpp
#	src/qt/walletframe.h
#	src/qt/walletview.h

* Fixed compile error

* Merge #757: [Doc] Update doc/build-windows.md

0eaf96d Update doc/build-windows.md (idas4you)

Tree-SHA512: 3f8a3067887d84fe371b5ba80b70c95d7a1f2b95b938c5f1059df0f884630595f75abf38676af5ce5a2983f3971791ec56fdaa979ff6b656cb06b3ddd7326df6

* Fixed project name

* [Doc] Update build-unix.md

Update the Unix build notes to be more complete, with mentioning of the
GMP and ZeroMQ dependencies, as well as OpenSSL version note.

Other stylistic updates as needed.

# Conflicts:
#	doc/build-unix.md

* Merge #812: [Regtest][Tests][RPC] Regtest mode + Test suite.

fced4e26fe [Tests] fake_stake: reverse stake hash byte order (random-zebra)
a85cdad03c [Tests] fake_stake: use hashStake for kernel computation (random-zebra)
6aa5ddbff8 [Tests] fake_stake: remove random prevout from spending (random-zebra)
8e370da804 [RPC] add mint hashStake to listmintedzerocoins output (random-zebra)
0d865a8978 [Tests] fake_stake: use a copy for spendingPrevouts (random-zebra)
0f209b3da8 [Tests] fake_stake: docstrings and comments (random-zebra)
322ce79a67 [Tests] fake_stake: fix checksum computation (random-zebra)
7aae5b1e8b [Tests] fake_stake: fix empty spending_prevouts (random-zebra)
c7555e1b84 [Tests] fake_stake: collect prevouts from create_spam_block (random-zebra)
1d699432f2 [RPC] Add call 'getchecksumblock' (random-zebra)
2e7eacc4c4 [Tests] fix line separators in Test03 (random-zebra)
c6c81a7cd2 [Tests] fake_stake: test03 updated (random-zebra)
0d8cf5500d [Tests] remove trailing whitespace from README.md (random-zebra)
9302f5a046 [Tests] fake_stake: test01 & test02 updated (random-zebra)
e0efe4d530 [Tests] unique 'get_prevout' method for both pos and zpos stakes (random-zebra)
9318335525 [Tests] remove trailing whitespaces (random-zebra)
67284ce22a [RPC] add mint block height to 'listmintedzerocoins' (random-zebra)
d783229568 [Tests] get correct nStakeModifier (random-zebra)
78e838ee32 [Tests] fix solve_stake nTime / nStakeModifier (random-zebra)
a428c83609 PoS block creation uniqueness. (furszy)
dd07bd1a50 [Tests] fix proof of stake target in block class (random-zebra)
030e557b93 [Tests] fake_stake: fix test 01 block numbers (random-zebra)
fe54e9b92a [RPC] fix signrawtransaction hack to allow signing of spent inputs (random-zebra)
79e364354f regtest lastPoWBlock and zerocoin block start decreased to not waste lifetime waiting for the tests. (furszy)
42e9c01a85 More logging in block generation. (furszy)
0aa9bafbf4 fake stake test4 (furszy)
8315a42a7b pivx_fake_stake: test03 almost complete (random-zebra)
1ad11ad9f7 RPC createrawzerocoinstake: fix vout[0], add priv-key (random-zebra)
ad65ac4e0a REGTEST: Fix bug on GetModifier (random-zebra)
47f0503b19 RPC: hack MintToTxIn to allow spending an already spent zpiv on regtest (random-zebra)
3092cfc0c2 add empty output to createrawzerocoinstake (random-zebra)
c5a6a67349 log CWallet::MintToTxIn errors (random-zebra)
252f4ab43e pivx_fake_stake: zerocoin prevouts (random-zebra)
22769817ae GetModifier for regtest zPoS hardcoded to prev block stake modifier (furszy)
63bd40e064 pivx_fake_stake: test_spam method refactoring (random-zebra)
1df9240727 pivx_fake_stake: add test descriptions (random-zebra)
79e746eb3d zerocoin mint + spent (furszy)
9eea8837aa half test3 completed (furszy)
23236e7499 pivx_fake_stake: select test from command line (random-zebra)
44d2e9a1c2 pivx_fake_stake: get_prevouts (random-zebra)
1b27b90e8b pivx_fake_stake Test05 - update blockcount in forks (random-zebra)
88e0dc6442 pivx_fake_stake Test05 - more blocks fix (random-zebra)
bf3b732dc5 pivx_fake_stake Test05 - more blocks (random-zebra)
a25f2e84a2 pivx_fake_stake Test05 (random-zebra)
427f2f168b test05 completed, rejection of double spend coin stake input on the same block on main/forked chain (furszy)
3cbf43e7db test05 (furszy)
f7a48260c6 Add 'createrawzerocoinstake' method (random-zebra)
70d859e055 test_02 working good. (furszy)
ed63600142 PIVX_fake_stake: zerocoin tests (random-zebra)
07b981af88 no time validation for regtest (furszy)
47c2c65721 import bytes_to_hex on test_02 fix (furszy)
c02002bdd4 PIVX_fake_stake: fix coinstake out value (random-zebra)
35f09e5d21 submitblock assertion on test_02 (furszy)
d0c0dccff5 PIVX_fake_stake: fix coinbase nHeight merge (random-zebra)
2cf7ae1939 PIVX_fake_stake: fix txes in create_spam_block (random-zebra)
ef01bd8141 zPoS running on regtest :) (furszy)
5405d1ce2d Zerocoin fixed on regtest & PoS blocks generation fixes. (furszy)
158bd2b215 regtest PoS generate valid blocks (furszy)
71a3743108 Tests: fixup a conditional check for python block creation (Fuzzbawls)
b3950ff436 Tests: update nothingatstake test file (Fuzzbawls)
f40f576eb3 stakemodifier fixed for regtest (furszy)
80a2aec5df Tests: serialize block signature when present (Fuzzbawls)
9cec3bd2f5 RPC: hack signrawtransaction to allow signing an already spent input (Fuzzbawls)
5c0f0b99ed WIP: port the test for "fake stake" issue test (Fuzzbawls)
b074cd0e42 RPC: return the used stake modifier in getblock (Fuzzbawls)
1ffc443ba6 Regtest: mine the correct version blocks (Fuzzbawls)
3d588ead42 Tests: Remove whitespace in default conf file (Fuzzbawls)
ebdc552408 Fixup the walletdump command and python test (Fuzzbawls)
37b29c7e61 [Tests] Add Basic BIP38 RPC functionality test (Fuzzbawls)
c2cfff0a23 Tests: add size field to test json (Fuzzbawls)
2155506247 Add rpm contrib files (Fuzzbawls)
4e62dd9ee8 Main: reject non-final transactions using nLocktime from entering the mempool. (Fuzzbawls)
4c71b5694a [RPC] Ensure Tx/Budget input hashes are of the proper length (Fuzzbawls)
7d37c1c207 [RPC] Update and harden many raw transaction RPC commands (Fuzzbawls)
262f76a9d0 [RPC] Error early when block doesn't start with a coinbase transaction (Fuzzbawls)
7e0476b25a RPC: Add waitforblock/waitfornewblock/waitforblockheight (Fuzzbawls)
22bfe7ea2c [Tests] Initial update for regression test suite tests (Fuzzbawls)
93fd9f0501 Update block generation code to enable regtest mode (Fuzzbawls)
25fc43698b Build: add test runner packaging to configure (Fuzzbawls)

Tree-SHA512: 09bcd3c727eb85103451cf971e0bc3a27eca205318ebb6c600a26ddc97f58ef456aa6768c9e94fd5c484da5071887e5b50c2bcf90318cfe2c9178c0c746a408b

# Conflicts:
#	Makefile.am
#	configure.ac
#	qa/pull-tester/run-bitcoind-for-test.sh.in
#	qa/pull-tester/tests-config.sh.in
#	qa/rpc-tests/README.md
#	qa/rpc-tests/proxy_test.py
#	qa/rpc-tests/python-bitcoinrpc/bitcoinrpc/__init__.py
#	qa/rpc-tests/python-bitcoinrpc/bitcoinrpc/authproxy.py
#	qa/rpc-tests/python-bitcoinrpc/setup.py
#	qa/rpc-tests/util.py
#	qa/rpc-tests/util.sh
#	qa/rpc-tests/wallet.py
#	src/Makefile.qt.include
#	src/main.cpp
#	src/miner.cpp
#	src/pow.cpp
#	src/rpcmining.cpp
#	src/rpcrawtransaction.cpp
#	src/rpcwallet.cpp
#	src/stakeinput.cpp
#	src/wallet.cpp
#	test/util/bitcoin-util-test.py
#	test/util/data/blanktxv1.json
#	test/util/data/tt-delin1-out.json
#	test/util/data/tt-delout1-out.json
#	test/util/data/tt-locktime317000-out.json
#	test/util/data/txcreate1.json
#	test/util/data/txcreate2.json
#	test/util/data/txcreatescript1.json

* Fixed compile error

* Merge #803: [NET] Invalid blocks from forks stored on disk fix + blocks DoS spam filter.

61a6ea7558 AcceptBlock() for-each loops variables moved to const (furszy)
e1974d23f3 AcceptBlock() check for double spent serials only on main chain flag. (furszy)
babdfb0f26 remove extra debug lines in AcceptBlock (random-zebra)
a9178bc6e0 AcceptBlock: contextual zcspend check on main chain (random-zebra)
0d49570f20 AcceptBlock() block stored log removed (furszy)
b74921756a Fix bug on AcceptBlock when pindex is null (random-zebra)
45883b9fb6 AcceptBlock() invalid isBlockFromFork flag (furszy)
6a16049dfa AcceptBlock() reject blocks double spending the coin stake input inside the same block (furszy)
da1b6836a5 block spam filter, validate non null nodestate (furszy)
84de55a11c AcceptBlock() isBlockFromFork flag not contemplating prev blocks from forks fixed (furszy)
4219339521 AcceptBlock() - not accept blocks from a forked chain that exceed the max reorg limit (furszy)
47759e113c AcceptBlock(), reject invalid PoS stake (furszy)
e237823000 validate non null pfrom on blockspamfilter check (furszy)
c2e5459dff AcceptBlock(), serial double spend on the same block validation (furszy)
3f5091986c zPoS validations of forked chains before store them + inputs check on prev split main chain (furszy)
64804b4bee Invalid blocks from forks stored on disk fix + blocks DoS spam filter. (furszy)

Tree-SHA512: 6c5a7fda3eb81dc8b030c9ba624e5101f552ef9cecc839a79237b705c314171c0e9c66ecd8bfd207081c6759272140cf3bdf0da7af6ac4695f0c09b74fb1ba45

# Conflicts:
#	src/main.cpp

* Merge #817: [Wallet] Fix segfault with runtime -disablewallet

bae276a Don't bother checking obfuscation messages (Fuzzbawls)
837f25f [Wallet] Fix segfault with runtime -disablewallet (Fuzzbawls)

Tree-SHA512: a8dd502897cdc82f206a1805f7b1ae51960344c3fa32640c9dc6c271768e7db718bc2f57034e8fabfd1b402e589e531419d1e8af8a25eee71d89a6b79ce3a679

# Conflicts:
#	src/main.cpp

* Merge #821: [RPC] Fixup signrawtransaction on regtest

e87231b62b [RPC] Fixup signrawtransaction on regtest (Fuzzbawls)

Tree-SHA512: 1e1b9c25abf9b2406b5065b0b348100fe60e13a258d874d681c6df4094a86ecf3e226e39e6c3e1d8b07fa853634c35249f65652641d13741c426c4c9053e7b36

* Merge #822: [Tests] Integrate fake stake tests into parent test suite

52b509468f Remove stale qtum python scripts (Fuzzbawls)
c0d8dcb8c9 [Tests] Integrate fake stake tests into parent test suite (Fuzzbawls)

Tree-SHA512: b0f9d559b3a8a4d0da3d400dfbe57fa15933a3c569732c4d7d10e147e7d5cd5f70a6f5231c862e4ca5f7f3efdb2de5890fe4755cbee5c41b00a4ab34a015c2e4

* Merge #826: [Qt] Fix a windows only crash when r-clicking a proposal

0015d08c75 [Qt] Fix a windows only crash when r-clicking a proposal (warrows)

Tree-SHA512: 7e9507e4ffbbca6b41d9c9b18d31f7ebfddf01d5abbfd083b2fcbf6d7d398c20391bdc4fc4903c8d1b338d0c78929920264eb6352bbcaa9b2baf1c11df965cc5

* Merge #838: [RPC][Test] spendrawzerocoin + wrapped serials functional test

c3352f0dbd [Test] add 'zerocoin' to the list of good prefixes in test_runner (random-zebra)
78f1a241ae [Test] wrapped serials: use multiple random values for K (random-zebra)
bf0cf52d37 [RPC] fix spendrawzerocoin string parsing (random-zebra)
025d2855f9 [Tests] Add Wrapping Serials Test (random-zebra)
7373704842 [RPC] Add spendrawzerocoin (random-zebra)

Tree-SHA512: 707c015b2b40bf6f34999aa7b1a62b1e1be4b8c4d9b0e830ed78ebf2f74a362883708d6204cfadd95f5d6520feb19fc1ba4b8a12549c6cc40c40dc2ab56fb2e9

* Merge #837: [Zerocoin][UNIT TEST][RPC] Wrapped serials.

6eff5fa970 fix zPIV supply recalculation (random-zebra)
2676ca3626 newline character added to recalculate wrapped serials supply logging (furszy)
da43659dd2 Initialize nSupplyBeforeFakeSerial to 0 in TestNet and RegTest (random-zebra)
c46de31dc4 Fix Wrapped Serials inflated zPIV supply recalculation (random-zebra)
13691861f8 zerocoin contextual spend check log invalid serials (furszy)
0240f27e5f log rejection serial block height (furszy)
ab6a134f2b invalid fake serial rejection (furszy)
010d03591c zpiv recalculation moved in init and added in connectblock (furszy)
bd6b26b466 fix tabs in SoK (random-zebra)
41a2bcca29 fix bitSize typo in bignum for openssl (random-zebra)
29c1791815 inflation methods moved to cpp (furszy)
027c9ffcb6 wrapped serial inflation trigger recalculation (furszy)
a3d725a42a Zerocoin supply, wrapped serials inflation + some minor modifications (furszy)
b3660cbb2e SoK invalid range check. (furszy)
ad3a3c717b remove tab spaces (furszy)
ed15e21eb8 Fix isBlockBetweenFakeSerialAttackRange check (random-zebra)
8e7cf5ab4e Fix IsValidCommitmentToCoinRange check (random-zebra)
a936e03c22 getserials ambiguous Pair constructor in bitsize blocking clang compilation fix (furszy)
bd529a0f6e [UNIT TEST] wrapped serial coinSpend check (furszy)
1217868777 [RPC] Add getserials method (random-zebra)
9fe8dabc4f fix isValidSerial always true check (random-zebra)
913e48cda8 wrapped range fix (furszy)
46a5231574 wrapped serials check in acceptToMemPool method (furszy)
edfdb4c30b prints in console commented (furszy)
18e55ed179 fake serials attack enforcement (furszy)

Tree-SHA512: fe6eaf26257c25377982d44ff1cdd839edf6f71daa5607fc98397b4a3fcd26ae78db54c781038e4f9ff8a7ad1d460ce109909184852bb620435e10dcba6a638c

# Conflicts:
#	src/init.cpp
#	src/libzerocoin/bignum.h
#	src/main.cpp
#	src/main.h
#	src/primitives/zerocoin.h

* Fixed compile error

* Merge #840: [QT] cleanup, remove old trading dialog form

56dd114 cleanup, remove trading dialog form (furszy)

Tree-SHA512: 824547803f5b854c51c22ca87149608725036c5ddee1922ceef7bdc71fcaeac440e77da3c51f7fe44b29269a57990d5ddfd674ca52b4de6ebd6fd36f847f55e8

# Conflicts:
#	src/qt/forms/tradingdialog.ui

* Merge #847: Fix to display missing clock5.png tx image

dc168d1 fix to display missing clock5.png tx image (joeuhren)

Tree-SHA512: d10828e76ad1b2e034b013a1c3cac9cf79dfdc642a11d1a6493d615a19982d50fc09343b3b39171ba7c25202f29ed0532f1bc539c42fbdad37a19e58adcc48b1

* Merge #815: [Doc] Update release notes with forthcoming 3.2.0 changes

f86890b256 more notes for RPC commands and gitian build script (Fuzzbawls)
c39053bb73 Add more release notes (Fuzzbawls)
68e3e925b5 Initial release notes for v3.2.0 (Fuzzbawls)

Tree-SHA512: de06f5d6d913d21cd0ac329ff5a69e915f3ab5afae82ed471e496e2d718562a3a2cf010d20279f76f8ba6397394cfb21ba6cbe9da1385eed36d4f07c00f29161

# Conflicts:
#	doc/release-notes.md

* Fixed coin name

* In progress multi-input witness generation.

# Conflicts:
#	src/accumulators.cpp
#	src/accumulators.h
#	src/chainparams.cpp
#	src/kernel.cpp
#	src/miner.cpp
#	src/wallet.cpp

* more progress

* More progress on caching spend data.

# Conflicts:
#	src/Makefile.am
#	src/init.cpp
#	src/miner.cpp
#	src/rpcblockchain.cpp
#	src/test/zerocoin_implementation_tests.cpp
#	src/wallet.cpp
#	src/wallet.h
#	src/walletdb.h
#	src/zpiv/zpivtracker.cpp
#	src/zpiv/zpivtracker.h
#	src/zpiv/zpivwallet.cpp
#	src/zpiv/zpivwallet.h
#	src/zpivtracker.cpp
#	src/zpivtracker.h
#	src/zpivwallet.cpp
#	src/zpivwallet.h
#	src/zvittracker.cpp
#	src/zvittracker.h
#	src/zvitwallet.cpp
#	src/zvitwallet.h

* Fixed compile error

* Fixed compile error

* Remove security level from zerocoin spending.

# Conflicts:
#	src/qt/privacydialog.cpp
#	src/rpcwallet.cpp
#	src/wallet.cpp

* prevent infinate loop in miner

* ensure override is set for GetSerialHash()

* Include dependent headers in stakeinput.h

* set the accumulator start height when initializing the witness

* remove spam log output in stakeTargetHit()

* add benchmarking to zPIV spend inner functions

* fully initialize member variables when setting the witness data

* don't duplicate function call

* benchmark fixup

* don't hold cd_spendcache for the entire loop

* Remove security level from UI

* Add clearspendcache RPC command

# Conflicts:
#	src/rpcserver.cpp
#	src/rpcserver.h

* re-add zpivchain.h (fixes merge conflict error)

# Conflicts:
#	src/Makefile.am
#	src/init.cpp
#	src/test/zerocoin_implementation_tests.cpp
#	src/zvit/zvitwallet.cpp

* more work on pre-computing

# Conflicts:
#	src/wallet.cpp
#	src/zvit/zvittracker.cpp

* Make GetSerialHash return const again

* Fix RPC spendzerocoin

* Precompute zPIV spends in a dedicated thread

Moves the spend precomputation process into it's own thread, instead of
being tied to the staking thread.

Loop currently has a 5000ms sleep at the end so as to not overconsume
locks.

# Conflicts:
#	src/wallet.cpp
#	src/wallet.h

* Qt: Add precomputed percentage indicator column to zPIV control UI

Adds a new column to the zPIV control UI showing the mint's completed
precompute percentage.

* Allow zPIV precomputing to be disabled

Adds a new command line (conf) option `-precompute` to disable
precomputing. Default is to enable.

# Conflicts:
#	src/init.cpp

* Add Databasing of zpiv precomputes, they are not encrypted yet

* Update precompute cache

# Conflicts:
#	src/init.cpp

* Fix rebase conflicts from precomputing

# Conflicts:
#	src/rpcserver.h

* Clear database cache with rpc call

* Convert precompute cache into LRU cache

* Add global boolean, that stop precompute cache lock

* reorg + refactoring + conflicts

# Conflicts:
#	src/lightzvitthread.h
#	src/rpcblockchain.cpp
#	src/wallet.h
#	src/zvit/accumulators.h

* precomputation-upstream conflicts solved

# Conflicts:
#	src/rpcblockchain.cpp
#	src/rpcrawtransaction.cpp

* getaccumulatorwitness method fix

# Conflicts:
#	src/rpcblockchain.cpp

* re added LNZP removed files

# Conflicts:
#	src/Makefile.am

* Remove duplicate functions from rebase

* Fix assertion failure in mining/staking

Need to explicitely set pindexPrev and nHeight within the locked scope.

* Fixup coinspend unit test header includes

* Fix wrapped serial functional test

The error message had changed

* Remove security level in `DoZpivSpend()` call

* Disable precompute for functional tests

The locking can interfere with block generation

* Fixup the interface_rest functional test

* Better logging for CheckCoinSpend

Also re-introduce the regtest specific conditional

* Prevent lock spamming when no stakable inputs are present

* Cleanup arbitrary sleep times in CreateCoinStake

* Fixup bad logprintf

* fixup makefile.am

* Don't error out when a range has already been computed

When a range of blocks has already been computed, use that existing data
 instead of erroring out. This is used in the zPoS pipeline where, after
  precomputation, the passed `pindexCheckpoint` is likely to be at a
  block height below the accumulator's tip/end.

* Fix irrelevant receipt status message

Since security level has been removed, this status message needed to be
changed.

Also removed some stale unused code that was left over from when
security level was used.

* Reduce log spam

New debug category "staking" added with some previous `LogPrintf`
messages recategorized to reduce log spam.

Also noted both "staking" and "precompute" in the init help message and
added them to the "pivx" umbrella category.

# Conflicts:
#	src/init.cpp
#	src/util.cpp

* Fixed compile error

* Merge #843: [Net] Increment Protocol Version

7241582ba3 [Net] Increment Protocol Version (Fuzzbawls)

Tree-SHA512: 12f2b784837de572ca0d96167dc51f355d5d0b042c53fb006186112639388ef5bddfe601fc99af64d3c0ab58013aa7add451616d29073f3b8fc6dfb4d29dce7d

# Conflicts:
#	src/version.h

* v3.2.0 Release

# Conflicts:
#	configure.ac
#	doc/release-notes.md

* [macOS] Remove DS_Store WindowBounds bytes object

Github-Pull: #858
Rebased-From: 21f50784c39d2c87776edb7b959d92d63b95b339

* Don't return an invalid state when shutting down the wallet

When the shutdown process is started, it is possible that the call to
`ValidateAccumulatorCheckpoint()` in `ConnectBlock()` will fail. Instead
 of returning an invalid state, which causes the block to pass through
 `InvalidChainFound()`, just return a stateless error if a shutdown has
 been requested.

Github-Pull: #865
Rebased-From: 8126729c7800d801f0f067d9a2257b8ad74c1a9f

* [Qt] Stop using a solid white image as a border image

This seems to be causing an issue on macOS, resulting in odd magenta
pinstripes. Instead, just set the WalletFrame's background to solid
white via hexcode.

Github-Pull: #863
Rebased-From: 9a855a8b50a3be548f3d8df7a7fc4f00baef0f73

* Remove now-unused image files

Github-Pull: #863
Rebased-From: 38e92f3a2678571cae2908d2140bb2f41e339143

# Conflicts:
#	src/qt/res/images/walletFrame.png
#	src/qt/res/images/walletFrame_bg.png

* [QT] Fix a display bug about zPIV mints

When opening the zPIV coin selection in privacy tab, if the wallet is
locked the message for all mints is that the seed is wrong. This commit
fixes it by replacing the message and stating that the locked wallet
prevents precomputation and spending.

Github-Pull: #852
Rebased-From: 94bea35e5569c323a667d8204bc2d23b15d4dc29

* [Net] Add new checkpoints for mainnet/testnet

This adds two new checkpoints for mainnet:
 * Block 1679090 - first block with a wrapped serial
 * Block 1686229 - last block that zPIV was active

Also for testnet:
 * Block 1016800 - Arbitrary recent block

Github-Pull: #861
Rebased-From: 9ce73e55db0f0c3013c08bee06648c40b705b86a

# Conflicts:
#	src/chainparams.cpp

* [Qt] Prevent double deletion of progress dialog

When `showProgress()` is passed a `100` int value, the dialog is deleted
. If the function is passed a `100` int value a second time in the same
scope, like what happens at the end of `RecalculateZPIVSpent()` and
`RecalculateZPIVSupply()`, it results in a segfault.

This change standardizes the process by first initializing the progress
dialog with a `0` value, updating to a maximum of a `99` value inside
the loop, and finally closing with a `100` value after the loop has
completed.

Github-Pull: #860
Rebased-From: fa0e1f301cb4c668706a14df8ae6e149c714ef6f

* [Build] Update debian contrib files

Github-Pull: #866
Rebased-From: 51616cb0d71541326b5060f7f93a51889c61cfc6

# Conflicts:
#	Makefile.am
#	contrib/debian/README.md
#	contrib/debian/changelog
#	contrib/debian/manpages/pivx-qt.1
#	contrib/debian/manpages/pivx.conf.5
#	contrib/debian/manpages/pivxd.1
#	contrib/debian/pivx-qt.desktop
#	contrib/debian/pivx-qt.install
#	contrib/debian/pivxd.bash-completion
#	contrib/debian/pivxd.install
#	contrib/debian/pivxd.manpages
#	share/ui.rc

* [Performances] Decrease the number of wasted CPU cycles

Github-Pull: #868
Rebased-From: 97720be5b945d1d490f6f6fa940b4620f6bbdb12

* PIVX Core v3.2.1 Release

# Conflicts:
#	doc/release-notes.md

* [Net] Valid blocks from forks badly rejected due an invalid view of the available utxo set for forked chains + split height going one block further than what should be.

[Net] acceptBlock, back to chain split was going one block further if prev was the previous block of the incoming block.

[Net] coins cache view only has the tip view and not forks utxo chain view.

Github-Pull: #880
Rebased-From: 2c76194c757ddd6a9081ee555b191c6dbb326c50

* [Net] AcceptBlock, first prev block loaded from disk.

Github-Pull: #880
Rebased-From: 754764be02af58b0b2059f580b40bf5f6380fa4d

* [Net] Add additional checkpoints

This adds two additional checkpoints for known split points

Github-Pull: #884
Rebased-From: af28b90a4ab119102ed995a20614025a55256526

# Conflicts:
#	src/chainparams.cpp

* Fix incorrect last checkpoint timestamp

Github-Pull: #887
Rebased-From: a0af2a75257a86f585580152e73de24b331c9264

# Conflicts:
#	src/chainparams.cpp

* 3.2.2 Release

# Conflicts:
#	doc/release-notes.md

* Fixed compile error

* Fixed coin name

* Fixed coin name

* Fixed coin name

* Merged…
2a5A1Ghu1 pushed a commit to VitaeTeam/Vitae that referenced this pull request Apr 20, 2020
* Fixed compile error

* Merge #698: [Qt] Remove Qt4 build support & code fallbacks

bc1fb933b1 gui: Remove QT_VERSION fallbacks for Qt < 5 (Wladimir J. van der Laan)
cd754957c6 build: Build system changes to support only Qt5 (Wladimir J. van der Laan)

Tree-SHA512: 8de2e99190e125285c8e6d69164defa4b4441b761befa3faaf96f77eaae2fa07e345673d28b54784a9c1b0a491a5fcf6260e7583b04eec0970af4fd08cf57d8a

# Conflicts:
#	build-aux/m4/bitcoin_qt.m4
#	src/qt/guiutil.cpp
#	src/qt/openuridialog.cpp
#	src/qt/vitae.cpp

* Merge #703: [Docs] Add missing automake dependency

a88b2aa40a [Docu] Add missing automake dependency (Mrs-X)

Tree-SHA512: 95b3d47afeeb52b50f5d0026bf3b7425864b9bc9cb698f5e45bf32770f7a5ca19255a36d8f226af8d86dfe4372c9fa6ac09c2b8e6476a51c1fc1d7f6eeae7465

* Merge #693: [UI] Add address to the payment request history

a993d56e22 [UI] Add address to the payment request history (warrows)

Tree-SHA512: 25e437e7323d57a9c550c89911fd1efb291c18f4778034b436ea6393a4fb6102b76d32e1cda5dc345943c5b75f08d841fd42cafc1caa7129447aa3dbfe288ca1

* Merge #677: [Qt] change colors for tx labels in history/overview

1d77b186b7 gui change colors for tx labels (random-zebra)

Tree-SHA512: 76185182c0e0997b4bc226e59ff9fd7012e74c50eead81247d5948656ef3f99ac7d8b8dc28c01d796638df3bf9a8d8e97b2755af7d8a1f7c6c4091f1b6f6a607

* Merge #708: [Build] Remove stale m4 file

6cf83ad [Build] Remove stale m4 file (Fuzzbawls)

Tree-SHA512: 89774b3969eb3a7455b71592881a1ee542c75bb21e7b917b1daa67303255e5918772c804d75328d1cde8bc60d20ed48f44463d0e2941857ffba0fb75b9e0d961

# Conflicts:
#	pkg.m4

* Fixed compile error

* Merge #706: [Build] Remove throw keywords in leveldb function signatures

ef26a15 Remove throw keywords in leveldb function signatures (Fuzzbawls)

Tree-SHA512: 707447ca5895fd13c8e91ab4c37ebe5fac67bf9480ee102e7aed18fe0042bd83d4479c1603de6979d0111e22d7b6174c5301e1131719fc2eb7a4a49451808a13

* Merge #683: [Qt] receivecoinsdialog - address control + clean UI

e5abd29 receivecoinsdialog: add button for Receiving Addresses (random-zebra)

Tree-SHA512: 2b26ebf81f0064d4feeb0d8967ea52c141cd0eb0354033c5ed92a7a0477f24b1dc2670e07bb08884572d50b5e92dcffd6ecd0156c9c3f800c1baa688ad3017b3

* Merge #711: [RPC] Don't allow backupwallet to overwrite the wallet-in-use

3158a8e [RPC]: Don't allow backupwallet to overwrite the wallet-in-use (Fuzzbawls)

Tree-SHA512: 7d76cfa07af4cec108d2f36859c44344439bb7ad31b83c6a8ef30790db7dbef2bd827eb520d41d7e1dfc47fa1ca41973978c21e7692b34bdb62335fa76b83904

* Merge #704: [Build] GCC-7 and glibc-2.27 back compat

f7cfcf7 Use IN6ADDR_ANY_INIT instead of in6addr_any (Fuzzbawls)
0063c1e GCC-7 and glibc-2.27 compat code (Chun Kuan Lee)

Tree-SHA512: 4a8522fc0c17447221b8515d3b606961279f1e29e41be1239e2b866c0983c0a57f0a76640afa85efcf0e676146ef48fd0d436432ab48cbe50efafde217012414

# Conflicts:
#	configure.ac
#	src/Makefile.am

* Fixed compile error

* Merge #688: [Zerocoin]  RPC import/export zerocoins private key standardized + Cleanup in AccPoK and SoK to avoid redundant calculations.

eb73e16 aM_4 times aR stored (furszy)
68dc475 remove useless last loop round vResult serialization (furszy)
62b5f05 AccPoK, avoid do the same calculations many times (furszy)
111eb7e unneccessary mint (furszy)
a0cfc25 import and export zerocoin, private key format standardized (furszy)

Tree-SHA512: 5674108ad54a7ef2e613c28f4c40188bdd843075772dd87d263c2978bd407bd167380016852c737389a2f01831f9b586d33c9aa9f4c42fe2a6896e5e11e5033e

* Merge #692: [Zerocoin] Remove explicit copy assignement operator from Accumulator

1524ecf [Zerocoin] Remove explicit copy assignement operator from Accumulator (warrows)

Tree-SHA512: f62cf2cfaf85b6a4aa3848e927d7fe09f31a23de558de709986a1f80803b3528d562aa797ffb548f95fbe7cd178b84de73ea02fce55dea008276b3f5284a6c29

* Merge #715: [Refactor] Remove GetCoinAge

c93bf2b [Refactor] Remove GetCoinAge (Fuzzbawls)

Tree-SHA512: 0a27a423a55e2ee3e5656139c9139fe7f40d659ce8538009ec104856b51c12333125f5a31f948669785be0621b77132c15b8349f2288b407a6899c5db700c98f

* Merge #719: [RPC] Fix verifychain

e2692dd [RPC] Fix verifychain (Fuzzbawls)

Tree-SHA512: e858d5c0907472eff031ff3de755c0853d9c5fe49346a3fbb76cdebffafb22190b36ca3c24e1bf87523ad7d9e6e1836c3849c4a2800f12a29612bb20b0ef4c7b

* Merge #720: [RPC] Sanitize walletpassphrase timeout argument

916d332 [RPC] Sanitize walletpassphrase timeout argument (Fuzzbawls)

Tree-SHA512: a12dc4bbd42a7e3460272883e8c618e26ecdc2349bac523aa1f1bc6722f393cc4dc89a66b4fbedcd5cff72eab8113b1bec43ba1c28819fb4c2f32a7c7a6f6cd4

* Merge #714: [UI] Add address field in receive tab

db51d53 [UI] Persist receive address through wallet restart (warrows)
5f7929f [UI] Change receive address upon receiving funds (warrows)
b10252b [UI] Add an address field to the receive form (warrows)

Tree-SHA512: f6ab8d1834a3fb5f5f8343395f1e960161a308e6bc5a8c9b8899cb4cf368b5511642dd1c89764a6d47fc0c85ac70a19a82d36fc23476c3fbe3422eb43c92ebbd

# Conflicts:
#	src/qt/forms/receivecoinsdialog.ui

* Merge #721: [RPC] Fix movecmd's help description to include amount

76d17e9 [RPC] Fix movecmd's help description to include amount (Fuzzbawls)

Tree-SHA512: ea74b97641b4fe31d906af7e9488003e348275f52586f6fa4af8915790344a080fb62d81a996950e14c1d425e6831acdfb05db46a7cf8f47e368e8f197058c2c

* Merge #722: [RPC] Add more verbosity to validateaddress

e3c624d [RPC] Add more verbosity to validateaddress (Fuzzbawls)

Tree-SHA512: 55e9d0766d528d0f4d94729bb2cbf6d2eca52fcfa31ca88520cf2e048fa129eb787b197b0308e399388c281f567b36cd4a541901251f6879c4e8560d5e581b8e

# Conflicts:
#	src/rpcmisc.cpp

* Merge #723: [RPC] Error when calling getreceivedbyaddress with non-wallet address

93b830f [RPC] Error when calling getreceivedbyaddress with non-wallet address (Fuzzbawls)

Tree-SHA512: fe1b5b6b6435690c5a336a108e99995d9bc0d39ed2ecd12d22ff2a4b9f141fba63dd2f8bdf9b09be3739dbbcf382eb3f9e629967566f8c18ac49f2b83c0431fe

# Conflicts:
#	src/rpcwallet.cpp

* Merge #724: [RPC] Ensure that a numeric is being passed to AmmountFromValue

1f56fba [RPC] Ensure that a numeric is being passed to AmmountFromValue (Fuzzbawls)

Tree-SHA512: 3adf9c60ed5f7474b89527054744f55e60584a3a56ddc6977a2e35919119c902e9c2f4a62e841410b871f778530c9586dbe59fc3523747d82d37d27d76e92511

* Merge #725: [UI] Sort numbers correctly in zPIV and coin control dialogs

da28a5c [GUI] subclass QTreeWidgetItem for zpivcointrol and coincontrol (random-zebra)
cf9096c [UI] Sort numbers correctly in zPIV control dialog (warrows)

Tree-SHA512: 9fb4edad15b8ba3eeebd8ccd14c5a306b90293c0b6984f8a7d7484a827d4e2d4cce43867d38e02c9e8991f8857058f821d41648e794829c8e00238513d30973d

* Merge #730:  [Wallet] fix bug with fWalletUnlockAnonymizeOnly flag setting

eb08890 [RPC] fix typo in 'walletpassphrase' help (random-zebra)
06254d5 fix bug with fWalletUnlockAnonymizeOnly flag setting (random-zebra)

Tree-SHA512: af6eed612d259421e863511b7e0a8906187f613c92b779975e9becc4e43812fa2fdb591dbfab48f9968d3031e9e0bf7539d53d0cf3b5e32c03adcf2fbf13729b

* Merge #731: [zPIV] Fix bignum overloads when using OpenSSL

69459a3 [zPIV] Fix bignum overloads when using OpenSSL (Fuzzbawls)

Tree-SHA512: 54aa584ea41524d995fa4ddb63c57f2a5c331f278bf77ccea698ef135d877ac0b3a5695a7430373d194fd87544606e423f588e28cef7603e0e8c4d5b164bd33c

# Conflicts:
#	src/libzerocoin/bignum.h

* Merge #734: [Staking] Ensure nCredit is correctly initialized in CreateCoinStake

7eea7d0 [Staking] Ensure nCredit is correctly initialized in CreateCoinStake (warrows)

Tree-SHA512: da9f87385f639424ec75ab697487249510a38ff4768703cdee80df063d035d8ac07274d612b195c081c6238a42d9a99f4d829fdf9144775afaa1de8a6b7b8e89

* Merge #735: [Qt] Stop using dummy strings in clientversion.cpp

cab33db Stop using dummy strings in clientversion (Fuzzbawls)

Tree-SHA512: 7513fc0580f3eba45c085fffd0bf682b947268773dc0bf440926012768dc30ef70ee1acd63b21a51250a72118ca780a62d22e387af1a5797ada2847638805a71

# Conflicts:
#	src/clientversion.cpp

* Merge #733: [GUI] Hide orphans

960137a05a [GUI] Add option to hide orphans in overview and txlist (random-zebra)

Tree-SHA512: d9c6b2cb073d9352b910bef3089a755e8991618b7f427e4e4ddfb48364103d5c63b65197d16f405b58aac7ab5d3ea00a886d51e162965d809346074d065d75ff

# Conflicts:
#	src/qt/optionsmodel.cpp
#	src/qt/optionsmodel.h

* Fixed compile error

* Merge #736: [Utils] Update linters for python3

e66e20ed18 [Utils] Update linters for python3 (Fuzzbawls)

Tree-SHA512: 8c9bfa3bb8464ba8acbc1a9997dca656ca86f776b9eacc23aad45d2c11c64bd5a611ecd51778bd20d1814b5573d6b9a0d994e7b5105bd5f9a90b4ff5534768ba

* Merge #726: [RPC] include mints metadata in 'listmintedzerocoins' output

864aef8 [RPC] include mints metadata in 'listmintedzerocoins' output (random-zebra)

Tree-SHA512: bc19fbf7af754d4616f658668e1b4ad351e8e97b29038ab02134de4f589222e3f30f5b2ccf8b69efa00a6da56f02e5f87eb12f9ca71afc8047040c6bde70d843

# Conflicts:
#	src/rpcwallet.cpp

* Merge #727: [RPC] Add 'spendzerocoinmints' RPC call

f8ec8e0 [RPC] add 'spendzerocoinmints' RPC call (random-zebra)

Tree-SHA512: 95933d5f4a2de70cf9b0b29b3ed922c39b12059f08a66cd7ddfd60a8f21274fc3ef3f76b6fc70c87768b137b78fccd0f59d22b99a99b53c3d77fc20a6045384f

# Conflicts:
#	src/rpcserver.h
#	src/rpcwallet.cpp

* Fixed compile error

* Merge #729: [RPC] Fix RPCTimerInterface

0053876 [RPC]: Fix RPCTimerInterface ordering issue (https://github.com/bitcoin/bitcoin/pull/7317) (random-zebra)

Tree-SHA512: 0e3b5ea32d48d824e37fff701c420e835c1da011cfe10302d47773341ca303ad680b85b2e6d505cda6d29be3e1c0964ee5880f66a67b1aed07aa510ba6fdc312

* Merge #737: [Refactor] Remove 'boost::lexical_cast<>'

a1a8fb9 Replace 'boost::lexical_cast<std::int>' with 'std::stoi' (random-zebra)
6c7b8ae Replace 'const boost::bad_lexical_cast' with 'std::invalid_argument' (random-zebra)
e89923f Replace 'boost::lexical_cast<std::string>' with 'std::to_string' (random-zebra)

Tree-SHA512: 37900a8cadacab61d31872d55c8cb1a654a4f395ffd51292a370d9fb15f313c86bbb5c15f3278394a59ae523341b94a0d091167283e4e87d5d41287502917373

# Conflicts:
#	src/activemasternode.cpp
#	src/masternode.cpp
#	src/masternodeman.cpp
#	src/rpcwallet.cpp

* Updated fundamental node

* Merge #740: [Net] Pull uacomment in from upstream

ec8f69a [Net] Pull uacomment in from upstream (Fuzzbawls)

Tree-SHA512: b6f30a711967af188dd4aab42338d161c5ee587eb36a2a3625be81c32c8b61ce03a19f5485b3b3cbc945f903b2eb32db6a3b081c2ef3e9561aa538583cb4713a

* Merge #741: [GUI] Sort by 'data' in zPIV and coin control dialogs

8b87ad3 [GUI] introduce CCoinCointrolWidgetItem and CZPivControlWidgetItem (random-zebra)

Tree-SHA512: 59f8fc92c454ad3fa07f49f8bd1b3313e60b60eff413723ae16d6a12b440416a7db89d5f9f20a8813f9d23574eeeaba635f84bb9863457aae5dc0818d9971512

# Conflicts:
#	src/qt/zVitcontroldialog.cpp
#	src/qt/zVitcontroldialog.h

* Fixed compile error

* Merge #742: [RPC] Add masternode's pubkey to listmasternodes RPC

132166e Add masternode's pubkey to listmasternodes RPC (presstab)

Tree-SHA512: c8d7a50aa275b0da845c86f942fe49f2e1974983bf9a9553cef6897760b737c07950ba828196ebaa36f6992593085695fe814923b39b7bbf410533eb51ebe9cd

* Merge #743: [Refactor] remove CPubKey::GetHex

63daf40 [Refactor] remove CPubKey::GetHex (random-zebra)

Tree-SHA512: 360902e7e54c296c73de233f2fdb3b057916141c54d12f594a9a0c84e75cc8d554cef16c2119c2c2e886448f83bdf37bdb8bda39156040e4f6afab962aa9cc0d

* Merge #750: [RPC] Add mediantime to getblock/getblockheader output

14c2d6a [RPC] Add mediantime to getblock/getblockheader output (Fuzzbawls)

Tree-SHA512: a950428f78eb027b9ea0570504d61983962374e0668514233528bba549da3156d173356a46d05a6ca786aae422d1b10f256be38bccba078f5d272d4d455a0916

* Merge #751: [RPC] Show the configured/set txfee in getwalletinfo

02f330a [RPC] Show the configured/set txfee in getwalletinfo (Fuzzbawls)

Tree-SHA512: bb6e56c2d2b72d84e9fee9da817368368f5b46622566019d3e8ca95762db82718ef88136955ba285c63a7ff8f4d8259762f8b42f608222ff0c473304ccabca70

* Merge #749: [Build] Update genbuild.sh script

3eef1b9edb [Build] Update genbuild.sh script (Fuzzbawls)

Tree-SHA512: b94abc47dd8effbefd40c933d33053ff7a0ec7ca86b17fb98c0ea9c7a09afee7c6a9facf59e57d0f89245f09d3312b301178404e18c30ec651308be23ddbaad6

# Conflicts:
#	share/genbuild.sh

* Merge #752: [Build] Fix Thread Safety Analysis Warnings

db478c02d3 Ust std threading in sync.{h,cpp} (Fuzzbawls)
19ac6d8f1b Remove Boost dependency from the httpserver (Fuzzbawls)
3e22c85288 Miner: use std methods instead of boost for timing conditions (Fuzzbawls)

Tree-SHA512: f6ba63f8885791cc7a5bc0bf1feb88acba6b1e1832005d76191c2ab98cdce1819becf2941af9e01537be189aa81cddefe1637dde2225fcf9deedca7d661553ca

* Merge #760: [RPC] Show BIP65 soft-fork progress in getblockchaininfo

e723d969c2 [RPC] Show BIP65 soft-fork progress in getblockchaininfo (Fuzzbawls)

Tree-SHA512: e8a214bd48f567e16d6eb3f0634ff7907802a7935ee60e89ffea59f4a00a445fa2735246048ed762e488d31bc5b030c50b6ecab9bde855247b858f12b8be6ce6

# Conflicts:
#	src/rpcblockchain.cpp

* Merge #769: [Main] Unify shutdown proceedure in init rather than per-app

518542f [Main] Unify shutdown proceedure in init rather than per-app (Fuzzbawls)

Tree-SHA512: 6e734ce002e236c3c2c59c2e8e93d87f5fe577b3f5546804b117a71255266cc4012d847d6a1d9b019a7b763124b45987c2dc3f95294670489cac269beceb2e3a

# Conflicts:
#	src/qt/vitae.cpp
#	src/vitaed.cpp

* Fixed compile error

* Merge #747: [GUI] Hide orphans - contextMenu action

b3ff4a1 [GUI] Add action to hide orphans in overview and txlist (random-zebra)

Tree-SHA512: 2b1a6fa71b98881448f4f0148b3a4b02e87ced4ff9212b98050fa717949ec85e4a523533896d9e20d8fefa65d2f2dcf3f0d4152f36a0dcb7def4a8ff4efa64e6

* Merge #755: [Wallet] Fix zPIV spend when too much mints are selected

12255f3 [Wallet] Fix zPIV spend when too much mints are selected (warrows)

Tree-SHA512: 1acc02d544746b2033ceba6050739a2679ad15745539a971b6983b3907524bcfb5f889ba4a4ccacd2bda11a358e2e0fcf7117a9244a6572a5fa24eef5a4bbe6f

* Merge #776: [Qt] Add a security warning to the debug console's default output.

03fef18 [Qt] Add a security warning to the debug console's default output. (Fuzzbawls)

Tree-SHA512: 371df4c48f3dd0ceb1f22a5c89d8ddc68bcef579775b22db89ce9f0da5f3e882406073b67211e3dc672290f0839ba69f67ccc892326e972564d4c23ded09dc95

# Conflicts:
#	src/qt/rpcconsole.cpp

* Merge #770: Do not record zerocoin tx's in ConnectBlock() if it is fJustCheck

f260f5b Do not record zerocoin tx's in ConnectBlock() if it is fJustCheck (presstab)

Tree-SHA512: fb5cf7294a4614fc10b862821d73ab5e47f78263e55837f553b146345fcd4043d62cd3026535ca1ca07f4070ff61deb582907848dc0b447c1803de430b79b5f3

# Conflicts:
#	src/main.cpp

* Merge #771: [Main] Clean up sync.cpp/h with upstream declarations

15a9549 Finalize cleanup of sync.cpp/h (Fuzzbawls)
d7e16c7 Use c++11 nullptr instead of macros or void(0) in sync.cpp/h (Fuzzbawls)
a0a7191 Remove unused fTry from push_lock (Fuzzbawls)
a3cc26c Initialize lockstack to prevent null pointer deref (Fuzzbawls)
aea76f2 Remove Boost dependency from sync.cpp (Fuzzbawls)

Tree-SHA512: 5988a769dc5d6acbf05c4c586b4e6fb55d391db3316d876b10cdf854e13804308df7c3b6246e63d4432811b2af5a99e27d866b0304d887cd01f9c9eae05fd14d

* Merge #762: [Random] WIN32 Seed Cleanup: Move nLastPerfmon behind win32 ifdef.

3f8c6b7 WIN32 Seed Cleanup: Move nLastPerfmon behind win32 ifdef. Code to avoid calling Perfmon too often is only needed when perfmon is actually going to get called. This is not intended to make any functional difference in the addition of entropy to the random pool. (21E14)

Tree-SHA512: 24a58a905eaa418ccd7fed7e0789c664e29583f3788e3e5aa11a371923e579d1a253705bdd34a2ba28c3a19f0bbd7d87a16eccaa12ced9e7c8c81f95516e2821

* Merge #566: [Qt] Add automint status bar icon

ec8264a [Qt] Add automint status bar icon (Fuzzbawls)

Tree-SHA512: adba78850ea1d633905918a51a7951df630a0d118bea9d42f42a2be4973fbdd86214a0c2eaf28f61360ade982a84fe23b46a8bde0dc67640d295de4814bff88e

# Conflicts:
#	src/qt/res/icons/automint_active.png
#	src/qt/res/icons/automint_inactive.png

* Merge #781: [Qt] Don't show staking/automint status icons without a wallet

042be3fc2e [Qt] Don't show staking/automint status icons without a wallet (Fuzzbawls)

Tree-SHA512: 75d8261996fc0c2ec1441b9f81cd6855d71e3015a92a65faaf57d03a4a3c69ebac7ed9c2313ee87f7a121d18c9576e515f05e3fcaa628e24d7713bca1140b366

* Merge pull request #778 from veilgets/patch-1

Update README.md
# Conflicts:
#	README.md

* Merge #774: [Budget] Make checks for MN-autovoting deterministic

dd0dec7 [Budget] Make checks for MN-autovoting deterministic (Mrs-X)

Tree-SHA512: 99f9803e0049697b3b3350f60bacc1d6094076c835b1b6229552e5d6da5c73d5b71465551f262791b945158574d1ecb92c78be7aeb07a1d2f4cbd8e895af5032

# Conflicts:
#	src/masternode-budget.cpp
#	src/masternode-budget.h

* Updated fundamental node

* Merge #761: [Refactoring] Abstract out and switch openssl cleanse

9ac7e6a Switch memory_cleanse implementation to BoringSSL's to ensure memory clearing even with link-time optimization. (Adam Langley)
b1a1154 openssl: abstract out OPENSSL_cleanse (Cory Fields)

Tree-SHA512: 859567247c139bcd766cbb30186f0e3d4602e49a22801ad63e23b7fd0c65b63d7bfd94990bdf6052b1a641f39da31a5a16b6d1f4a574460c4f158089e336332a

# Conflicts:
#	src/Makefile.am

* Merge #783: [Depends] Update QT to 5.9.7

caea417ed Update QT to 5.9.7 (cevap)

Tree-SHA512: 34197e7b92711f3f0392b071de58900592ab8bb2ed3e50cd853cf2da56ba2f6d9b3ee57e4d01f3c2cdce4710ebe0c079bba434263b9af65141363086b9213025

# Conflicts:
#	depends/packages/qt.mk

* Merge #791: [Qt] Fix Missing Explorer Icon

8f17bd594 Fix Missing Explorer Icon (sicXnull)

Tree-SHA512: 4a7c659541fc6cc72aa2ab3020477793988e5a89054b7d6fa4179860c615bec47736ade946e9e9eed263d9620e7121a963330ff538bed4a1d99cd26a8cf10964

* Merge #788: Update license year 2019

406c540 Update license year 2019 (Everton Melo)

Tree-SHA512: 69addbde214d520650b8f39a36acf72b149634f1a7e5abf47b2e32bc8e4a3a9cb25948c61d511541fd78a92f38d074adc69093515a3b237f8e44510fd37daac3

# Conflicts:
#	COPYING

* Merge #759: [Wallet] Avoid failed zPIV spend because of changed seed

340c720 [Wallet] Improve performance when listing mints (warrows)
f19bb60 [GUI] Show when zPIV seed is inccorect in coin selection (warrows)
fac0274 [Wallet] Stop trying to spend mints with wrong seed (warrows)

Tree-SHA512: 071cd6293a44b8f451cc7e81089972318336f52c93d970b318ffa79052052973389a3cfc1c6059355a35ac0ea0064bf98e250775ad7cdc23b02b5d98ac0c4658

# Conflicts:
#	src/qt/walletmodel.cpp
#	src/zvittracker.cpp
#	src/zvittracker.h
#	src/zvitwallet.cpp

* Fixed compile error

* Merge #794: [UI] Open related options tab when clicking automint icon

094eedc [UI] Open related options tab when clicking automint icon (warrows)

Tree-SHA512: 8d0257aaff29ca19b44a93367dd20bcf7a48f06a42b78432be4f461c41506cee0a66bcb57ca423db392e0907ebfc5b0a411c72c5819f5209c76f53761cec4ce9

* Merge #800: [Net] nLastTry is only used for addrman entries

33b76b7 nLastTry is only used for addrman entries (Pieter Wuille)

Tree-SHA512: dd7dce5793fc685bf57961e235d7355b63bee27e99bc0579e90059f5ccb390018b68273a5e002c71fb5a54e324c79366c755950b23f066773295f7e66d28fc66

* Merge #798: [Net] Improve addrman Select() performance when buckets are nearly empty

7dfa9b2 Improve addrman Select() performance when buckets are nearly empty (Pieter Wuille)

Tree-SHA512: 64a16dd027174a45931e73c82e04629738b4caca8500d8cb04a1739d5f5529726d3ff27357f0bdf881fc4ccf278a7a6ac2b904e3a7822af32d8dce096ef16dce

* Merge #804: [Depends] Update zmq to 4.3.1

189d6a958e Update zmq to 4.3.1 (Dimitris Apostolou)

Tree-SHA512: 0226edb402b0594c616e580fe497d600eb2144d8eba8aa458d8255b093173306ff99429058c356e742896a4ac9ecbf92507b2da5cb16e8aa95c8c52860a20a21

# Conflicts:
#	depends/packages/zeromq.mk

* Merge #763: [Wallet] Add automint address

2159a58601 Add newly created automint addresses to the set (Fuzzbawls)
1c0169e494 Show automint address state in getwalletinfo (Fuzzbawls)
9374d5123b Add RPC command to enable/disable automint address functionality (Fuzzbawls)
0a364d4ff8 Add UI option to enable/disable automint addresses (Fuzzbawls)
72491216cf Add runtime/startup option to disable automint address functionality (Fuzzbawls)
65aefe8021 Add newly created automint addresses to the address book (Fuzzbawls)
6c2df854d9 Ensure wallet is unlocked for createautomintaddress (Fuzzbawls)
4205d57c14 Add automint address (presstab)

Tree-SHA512: 76900c564eb6abe3cfa1606559aba4d6725be04126268b06215619fef8f83d58e953985469e2c97086a6cd0e6d60fb9f9e58aca1cee56e1a7bf9668e82c94fa8

# Conflicts:
#	src/init.cpp
#	src/qt/forms/optionsdialog.ui
#	src/qt/optionsmodel.cpp
#	src/rpcserver.h
#	src/util.h
#	src/wallet.cpp
#	src/wallet.h

* Merge #768: [Net] Zerocoin Light Node Protocol

5bd855c673 removing apocaliptic comment (furszy)
95947bb9f7 logprint fixed (furszy)
91780b54cf log new line added + lightzpivthread .h/.cpp (furszy)
95da6abadb Incorrect number of arguments for LogPrint(f) statement found. fixed (furszy)
d72543ffe3 node_bloom_light_zc invalid if statement fixed (furszy)
a9b992adcd remove old comment (furszy)
09ba617e26 remove tab spaces (furszy)
d373e1d25a minor updates to PR 768 (random-zebra)
7b2310cad4 Zerocoin Light Node Protocol (furszy)

Tree-SHA512: a85026a9626aacff07826d2a7eab198327d82d620fce4d1f64962e6c0158fa4a0c3c5c355aaed94809928fe5dd77e90810244cb04e41152517d48ebcb76d04f2

# Conflicts:
#	src/Makefile.am
#	src/accumulators.h
#	src/init.cpp
#	src/net.cpp
#	src/protocol.cpp
#	src/protocol.h

* Fixed compile error

* Merge #758: [Depends] Update libsecp256k1 to latest master

c6634ef Squashed 'src/secp256k1/' changes from 452d8e4d2..1086fda4c (warrows)

Tree-SHA512: 7ebcd89f661b94c7ee52c57c3b1879e5ddf363205b326c8ed442bd4f88765701f22b3413e296519b589a4b0d150488a9dd911459eb9b9834d4e8dde3e21049b1

* Merge #802: [Refactor] Remove begin/end_ptr functions

9f89762 [Refactor] Remove begin/end_ptr functions (warrows)

Tree-SHA512: 420b7dad43df23876cd891104c8a3f1c557c9dc20fa726c69fe80eaf13b353e4301e8c0abc2abde29896f991dd88aaddc7d19996a3b7287a6244fbfd5700facf

# Conflicts:
#	src/serialize.h

* Merge #792: [UI] Add a budget monitoring and voting tab

4008865 [Travis] Fix trailing whitespaces (warrows)
87b9809 [UI] Rework proposal frames (warrows)
8b8a712 [UI] Add global budget information to governance tab (warrows)
f7674fb [UI] Clean proposal list when updating (warrows)
bbf3274 [UI] Use only one column for Proposal list (warrows)
d6c68c6 [UI] remove unused textlabel from governance page (warrows)
39eb903 [Qt] Add basic GUI voting tab to the wallet (Fuzzbawls)

Tree-SHA512: 438afbb8ed1dbe0892164b6f6b3d0ac3b825b2e7855115f1137bf5bcf454533e375774cd835c19ea529bb1ff0a4f886a3e71e809e9893a102ae841a1a4be8f9a

# Conflicts:
#	src/Makefile.qt.include
#	src/qt/res/css/default.css
#	src/qt/vitae.qrc
#	src/qt/walletframe.cpp
#	src/qt/walletframe.h
#	src/qt/walletview.h

* Fixed compile error

* Merge #757: [Doc] Update doc/build-windows.md

0eaf96d Update doc/build-windows.md (idas4you)

Tree-SHA512: 3f8a3067887d84fe371b5ba80b70c95d7a1f2b95b938c5f1059df0f884630595f75abf38676af5ce5a2983f3971791ec56fdaa979ff6b656cb06b3ddd7326df6

* Fixed project name

* [Doc] Update build-unix.md

Update the Unix build notes to be more complete, with mentioning of the
GMP and ZeroMQ dependencies, as well as OpenSSL version note.

Other stylistic updates as needed.

# Conflicts:
#	doc/build-unix.md

* Merge #812: [Regtest][Tests][RPC] Regtest mode + Test suite.

fced4e26fe [Tests] fake_stake: reverse stake hash byte order (random-zebra)
a85cdad03c [Tests] fake_stake: use hashStake for kernel computation (random-zebra)
6aa5ddbff8 [Tests] fake_stake: remove random prevout from spending (random-zebra)
8e370da804 [RPC] add mint hashStake to listmintedzerocoins output (random-zebra)
0d865a8978 [Tests] fake_stake: use a copy for spendingPrevouts (random-zebra)
0f209b3da8 [Tests] fake_stake: docstrings and comments (random-zebra)
322ce79a67 [Tests] fake_stake: fix checksum computation (random-zebra)
7aae5b1e8b [Tests] fake_stake: fix empty spending_prevouts (random-zebra)
c7555e1b84 [Tests] fake_stake: collect prevouts from create_spam_block (random-zebra)
1d699432f2 [RPC] Add call 'getchecksumblock' (random-zebra)
2e7eacc4c4 [Tests] fix line separators in Test03 (random-zebra)
c6c81a7cd2 [Tests] fake_stake: test03 updated (random-zebra)
0d8cf5500d [Tests] remove trailing whitespace from README.md (random-zebra)
9302f5a046 [Tests] fake_stake: test01 & test02 updated (random-zebra)
e0efe4d530 [Tests] unique 'get_prevout' method for both pos and zpos stakes (random-zebra)
9318335525 [Tests] remove trailing whitespaces (random-zebra)
67284ce22a [RPC] add mint block height to 'listmintedzerocoins' (random-zebra)
d783229568 [Tests] get correct nStakeModifier (random-zebra)
78e838ee32 [Tests] fix solve_stake nTime / nStakeModifier (random-zebra)
a428c83609 PoS block creation uniqueness. (furszy)
dd07bd1a50 [Tests] fix proof of stake target in block class (random-zebra)
030e557b93 [Tests] fake_stake: fix test 01 block numbers (random-zebra)
fe54e9b92a [RPC] fix signrawtransaction hack to allow signing of spent inputs (random-zebra)
79e364354f regtest lastPoWBlock and zerocoin block start decreased to not waste lifetime waiting for the tests. (furszy)
42e9c01a85 More logging in block generation. (furszy)
0aa9bafbf4 fake stake test4 (furszy)
8315a42a7b pivx_fake_stake: test03 almost complete (random-zebra)
1ad11ad9f7 RPC createrawzerocoinstake: fix vout[0], add priv-key (random-zebra)
ad65ac4e0a REGTEST: Fix bug on GetModifier (random-zebra)
47f0503b19 RPC: hack MintToTxIn to allow spending an already spent zpiv on regtest (random-zebra)
3092cfc0c2 add empty output to createrawzerocoinstake (random-zebra)
c5a6a67349 log CWallet::MintToTxIn errors (random-zebra)
252f4ab43e pivx_fake_stake: zerocoin prevouts (random-zebra)
22769817ae GetModifier for regtest zPoS hardcoded to prev block stake modifier (furszy)
63bd40e064 pivx_fake_stake: test_spam method refactoring (random-zebra)
1df9240727 pivx_fake_stake: add test descriptions (random-zebra)
79e746eb3d zerocoin mint + spent (furszy)
9eea8837aa half test3 completed (furszy)
23236e7499 pivx_fake_stake: select test from command line (random-zebra)
44d2e9a1c2 pivx_fake_stake: get_prevouts (random-zebra)
1b27b90e8b pivx_fake_stake Test05 - update blockcount in forks (random-zebra)
88e0dc6442 pivx_fake_stake Test05 - more blocks fix (random-zebra)
bf3b732dc5 pivx_fake_stake Test05 - more blocks (random-zebra)
a25f2e84a2 pivx_fake_stake Test05 (random-zebra)
427f2f168b test05 completed, rejection of double spend coin stake input on the same block on main/forked chain (furszy)
3cbf43e7db test05 (furszy)
f7a48260c6 Add 'createrawzerocoinstake' method (random-zebra)
70d859e055 test_02 working good. (furszy)
ed63600142 PIVX_fake_stake: zerocoin tests (random-zebra)
07b981af88 no time validation for regtest (furszy)
47c2c65721 import bytes_to_hex on test_02 fix (furszy)
c02002bdd4 PIVX_fake_stake: fix coinstake out value (random-zebra)
35f09e5d21 submitblock assertion on test_02 (furszy)
d0c0dccff5 PIVX_fake_stake: fix coinbase nHeight merge (random-zebra)
2cf7ae1939 PIVX_fake_stake: fix txes in create_spam_block (random-zebra)
ef01bd8141 zPoS running on regtest :) (furszy)
5405d1ce2d Zerocoin fixed on regtest & PoS blocks generation fixes. (furszy)
158bd2b215 regtest PoS generate valid blocks (furszy)
71a3743108 Tests: fixup a conditional check for python block creation (Fuzzbawls)
b3950ff436 Tests: update nothingatstake test file (Fuzzbawls)
f40f576eb3 stakemodifier fixed for regtest (furszy)
80a2aec5df Tests: serialize block signature when present (Fuzzbawls)
9cec3bd2f5 RPC: hack signrawtransaction to allow signing an already spent input (Fuzzbawls)
5c0f0b99ed WIP: port the test for "fake stake" issue test (Fuzzbawls)
b074cd0e42 RPC: return the used stake modifier in getblock (Fuzzbawls)
1ffc443ba6 Regtest: mine the correct version blocks (Fuzzbawls)
3d588ead42 Tests: Remove whitespace in default conf file (Fuzzbawls)
ebdc552408 Fixup the walletdump command and python test (Fuzzbawls)
37b29c7e61 [Tests] Add Basic BIP38 RPC functionality test (Fuzzbawls)
c2cfff0a23 Tests: add size field to test json (Fuzzbawls)
2155506247 Add rpm contrib files (Fuzzbawls)
4e62dd9ee8 Main: reject non-final transactions using nLocktime from entering the mempool. (Fuzzbawls)
4c71b5694a [RPC] Ensure Tx/Budget input hashes are of the proper length (Fuzzbawls)
7d37c1c207 [RPC] Update and harden many raw transaction RPC commands (Fuzzbawls)
262f76a9d0 [RPC] Error early when block doesn't start with a coinbase transaction (Fuzzbawls)
7e0476b25a RPC: Add waitforblock/waitfornewblock/waitforblockheight (Fuzzbawls)
22bfe7ea2c [Tests] Initial update for regression test suite tests (Fuzzbawls)
93fd9f0501 Update block generation code to enable regtest mode (Fuzzbawls)
25fc43698b Build: add test runner packaging to configure (Fuzzbawls)

Tree-SHA512: 09bcd3c727eb85103451cf971e0bc3a27eca205318ebb6c600a26ddc97f58ef456aa6768c9e94fd5c484da5071887e5b50c2bcf90318cfe2c9178c0c746a408b

# Conflicts:
#	Makefile.am
#	configure.ac
#	qa/pull-tester/run-bitcoind-for-test.sh.in
#	qa/pull-tester/tests-config.sh.in
#	qa/rpc-tests/README.md
#	qa/rpc-tests/proxy_test.py
#	qa/rpc-tests/python-bitcoinrpc/bitcoinrpc/__init__.py
#	qa/rpc-tests/python-bitcoinrpc/bitcoinrpc/authproxy.py
#	qa/rpc-tests/python-bitcoinrpc/setup.py
#	qa/rpc-tests/util.py
#	qa/rpc-tests/util.sh
#	qa/rpc-tests/wallet.py
#	src/Makefile.qt.include
#	src/main.cpp
#	src/miner.cpp
#	src/pow.cpp
#	src/rpcmining.cpp
#	src/rpcrawtransaction.cpp
#	src/rpcwallet.cpp
#	src/stakeinput.cpp
#	src/wallet.cpp
#	test/util/bitcoin-util-test.py
#	test/util/data/blanktxv1.json
#	test/util/data/tt-delin1-out.json
#	test/util/data/tt-delout1-out.json
#	test/util/data/tt-locktime317000-out.json
#	test/util/data/txcreate1.json
#	test/util/data/txcreate2.json
#	test/util/data/txcreatescript1.json

* Fixed compile error

* Merge #803: [NET] Invalid blocks from forks stored on disk fix + blocks DoS spam filter.

61a6ea7558 AcceptBlock() for-each loops variables moved to const (furszy)
e1974d23f3 AcceptBlock() check for double spent serials only on main chain flag. (furszy)
babdfb0f26 remove extra debug lines in AcceptBlock (random-zebra)
a9178bc6e0 AcceptBlock: contextual zcspend check on main chain (random-zebra)
0d49570f20 AcceptBlock() block stored log removed (furszy)
b74921756a Fix bug on AcceptBlock when pindex is null (random-zebra)
45883b9fb6 AcceptBlock() invalid isBlockFromFork flag (furszy)
6a16049dfa AcceptBlock() reject blocks double spending the coin stake input inside the same block (furszy)
da1b6836a5 block spam filter, validate non null nodestate (furszy)
84de55a11c AcceptBlock() isBlockFromFork flag not contemplating prev blocks from forks fixed (furszy)
4219339521 AcceptBlock() - not accept blocks from a forked chain that exceed the max reorg limit (furszy)
47759e113c AcceptBlock(), reject invalid PoS stake (furszy)
e237823000 validate non null pfrom on blockspamfilter check (furszy)
c2e5459dff AcceptBlock(), serial double spend on the same block validation (furszy)
3f5091986c zPoS validations of forked chains before store them + inputs check on prev split main chain (furszy)
64804b4bee Invalid blocks from forks stored on disk fix + blocks DoS spam filter. (furszy)

Tree-SHA512: 6c5a7fda3eb81dc8b030c9ba624e5101f552ef9cecc839a79237b705c314171c0e9c66ecd8bfd207081c6759272140cf3bdf0da7af6ac4695f0c09b74fb1ba45

# Conflicts:
#	src/main.cpp

* Merge #817: [Wallet] Fix segfault with runtime -disablewallet

bae276a Don't bother checking obfuscation messages (Fuzzbawls)
837f25f [Wallet] Fix segfault with runtime -disablewallet (Fuzzbawls)

Tree-SHA512: a8dd502897cdc82f206a1805f7b1ae51960344c3fa32640c9dc6c271768e7db718bc2f57034e8fabfd1b402e589e531419d1e8af8a25eee71d89a6b79ce3a679

# Conflicts:
#	src/main.cpp

* Merge #821: [RPC] Fixup signrawtransaction on regtest

e87231b62b [RPC] Fixup signrawtransaction on regtest (Fuzzbawls)

Tree-SHA512: 1e1b9c25abf9b2406b5065b0b348100fe60e13a258d874d681c6df4094a86ecf3e226e39e6c3e1d8b07fa853634c35249f65652641d13741c426c4c9053e7b36

* Merge #822: [Tests] Integrate fake stake tests into parent test suite

52b509468f Remove stale qtum python scripts (Fuzzbawls)
c0d8dcb8c9 [Tests] Integrate fake stake tests into parent test suite (Fuzzbawls)

Tree-SHA512: b0f9d559b3a8a4d0da3d400dfbe57fa15933a3c569732c4d7d10e147e7d5cd5f70a6f5231c862e4ca5f7f3efdb2de5890fe4755cbee5c41b00a4ab34a015c2e4

* Merge #826: [Qt] Fix a windows only crash when r-clicking a proposal

0015d08c75 [Qt] Fix a windows only crash when r-clicking a proposal (warrows)

Tree-SHA512: 7e9507e4ffbbca6b41d9c9b18d31f7ebfddf01d5abbfd083b2fcbf6d7d398c20391bdc4fc4903c8d1b338d0c78929920264eb6352bbcaa9b2baf1c11df965cc5

* Merge #838: [RPC][Test] spendrawzerocoin + wrapped serials functional test

c3352f0dbd [Test] add 'zerocoin' to the list of good prefixes in test_runner (random-zebra)
78f1a241ae [Test] wrapped serials: use multiple random values for K (random-zebra)
bf0cf52d37 [RPC] fix spendrawzerocoin string parsing (random-zebra)
025d2855f9 [Tests] Add Wrapping Serials Test (random-zebra)
7373704842 [RPC] Add spendrawzerocoin (random-zebra)

Tree-SHA512: 707c015b2b40bf6f34999aa7b1a62b1e1be4b8c4d9b0e830ed78ebf2f74a362883708d6204cfadd95f5d6520feb19fc1ba4b8a12549c6cc40c40dc2ab56fb2e9

* Merge #837: [Zerocoin][UNIT TEST][RPC] Wrapped serials.

6eff5fa970 fix zPIV supply recalculation (random-zebra)
2676ca3626 newline character added to recalculate wrapped serials supply logging (furszy)
da43659dd2 Initialize nSupplyBeforeFakeSerial to 0 in TestNet and RegTest (random-zebra)
c46de31dc4 Fix Wrapped Serials inflated zPIV supply recalculation (random-zebra)
13691861f8 zerocoin contextual spend check log invalid serials (furszy)
0240f27e5f log rejection serial block height (furszy)
ab6a134f2b invalid fake serial rejection (furszy)
010d03591c zpiv recalculation moved in init and added in connectblock (furszy)
bd6b26b466 fix tabs in SoK (random-zebra)
41a2bcca29 fix bitSize typo in bignum for openssl (random-zebra)
29c1791815 inflation methods moved to cpp (furszy)
027c9ffcb6 wrapped serial inflation trigger recalculation (furszy)
a3d725a42a Zerocoin supply, wrapped serials inflation + some minor modifications (furszy)
b3660cbb2e SoK invalid range check. (furszy)
ad3a3c717b remove tab spaces (furszy)
ed15e21eb8 Fix isBlockBetweenFakeSerialAttackRange check (random-zebra)
8e7cf5ab4e Fix IsValidCommitmentToCoinRange check (random-zebra)
a936e03c22 getserials ambiguous Pair constructor in bitsize blocking clang compilation fix (furszy)
bd529a0f6e [UNIT TEST] wrapped serial coinSpend check (furszy)
1217868777 [RPC] Add getserials method (random-zebra)
9fe8dabc4f fix isValidSerial always true check (random-zebra)
913e48cda8 wrapped range fix (furszy)
46a5231574 wrapped serials check in acceptToMemPool method (furszy)
edfdb4c30b prints in console commented (furszy)
18e55ed179 fake serials attack enforcement (furszy)

Tree-SHA512: fe6eaf26257c25377982d44ff1cdd839edf6f71daa5607fc98397b4a3fcd26ae78db54c781038e4f9ff8a7ad1d460ce109909184852bb620435e10dcba6a638c

# Conflicts:
#	src/init.cpp
#	src/libzerocoin/bignum.h
#	src/main.cpp
#	src/main.h
#	src/primitives/zerocoin.h

* Fixed compile error

* Merge #840: [QT] cleanup, remove old trading dialog form

56dd114 cleanup, remove trading dialog form (furszy)

Tree-SHA512: 824547803f5b854c51c22ca87149608725036c5ddee1922ceef7bdc71fcaeac440e77da3c51f7fe44b29269a57990d5ddfd674ca52b4de6ebd6fd36f847f55e8

# Conflicts:
#	src/qt/forms/tradingdialog.ui

* Merge #847: Fix to display missing clock5.png tx image

dc168d1 fix to display missing clock5.png tx image (joeuhren)

Tree-SHA512: d10828e76ad1b2e034b013a1c3cac9cf79dfdc642a11d1a6493d615a19982d50fc09343b3b39171ba7c25202f29ed0532f1bc539c42fbdad37a19e58adcc48b1

* Merge #815: [Doc] Update release notes with forthcoming 3.2.0 changes

f86890b256 more notes for RPC commands and gitian build script (Fuzzbawls)
c39053bb73 Add more release notes (Fuzzbawls)
68e3e925b5 Initial release notes for v3.2.0 (Fuzzbawls)

Tree-SHA512: de06f5d6d913d21cd0ac329ff5a69e915f3ab5afae82ed471e496e2d718562a3a2cf010d20279f76f8ba6397394cfb21ba6cbe9da1385eed36d4f07c00f29161

# Conflicts:
#	doc/release-notes.md

* Fixed coin name

* In progress multi-input witness generation.

# Conflicts:
#	src/accumulators.cpp
#	src/accumulators.h
#	src/chainparams.cpp
#	src/kernel.cpp
#	src/miner.cpp
#	src/wallet.cpp

* more progress

* More progress on caching spend data.

# Conflicts:
#	src/Makefile.am
#	src/init.cpp
#	src/miner.cpp
#	src/rpcblockchain.cpp
#	src/test/zerocoin_implementation_tests.cpp
#	src/wallet.cpp
#	src/wallet.h
#	src/walletdb.h
#	src/zpiv/zpivtracker.cpp
#	src/zpiv/zpivtracker.h
#	src/zpiv/zpivwallet.cpp
#	src/zpiv/zpivwallet.h
#	src/zpivtracker.cpp
#	src/zpivtracker.h
#	src/zpivwallet.cpp
#	src/zpivwallet.h
#	src/zvittracker.cpp
#	src/zvittracker.h
#	src/zvitwallet.cpp
#	src/zvitwallet.h

* Fixed compile error

* Fixed compile error

* Remove security level from zerocoin spending.

# Conflicts:
#	src/qt/privacydialog.cpp
#	src/rpcwallet.cpp
#	src/wallet.cpp

* prevent infinate loop in miner

* ensure override is set for GetSerialHash()

* Include dependent headers in stakeinput.h

* set the accumulator start height when initializing the witness

* remove spam log output in stakeTargetHit()

* add benchmarking to zPIV spend inner functions

* fully initialize member variables when setting the witness data

* don't duplicate function call

* benchmark fixup

* don't hold cd_spendcache for the entire loop

* Remove security level from UI

* Add clearspendcache RPC command

# Conflicts:
#	src/rpcserver.cpp
#	src/rpcserver.h

* re-add zpivchain.h (fixes merge conflict error)

# Conflicts:
#	src/Makefile.am
#	src/init.cpp
#	src/test/zerocoin_implementation_tests.cpp
#	src/zvit/zvitwallet.cpp

* more work on pre-computing

# Conflicts:
#	src/wallet.cpp
#	src/zvit/zvittracker.cpp

* Make GetSerialHash return const again

* Fix RPC spendzerocoin

* Precompute zPIV spends in a dedicated thread

Moves the spend precomputation process into it's own thread, instead of
being tied to the staking thread.

Loop currently has a 5000ms sleep at the end so as to not overconsume
locks.

# Conflicts:
#	src/wallet.cpp
#	src/wallet.h

* Qt: Add precomputed percentage indicator column to zPIV control UI

Adds a new column to the zPIV control UI showing the mint's completed
precompute percentage.

* Allow zPIV precomputing to be disabled

Adds a new command line (conf) option `-precompute` to disable
precomputing. Default is to enable.

# Conflicts:
#	src/init.cpp

* Add Databasing of zpiv precomputes, they are not encrypted yet

* Update precompute cache

# Conflicts:
#	src/init.cpp

* Fix rebase conflicts from precomputing

# Conflicts:
#	src/rpcserver.h

* Clear database cache with rpc call

* Convert precompute cache into LRU cache

* Add global boolean, that stop precompute cache lock

* reorg + refactoring + conflicts

# Conflicts:
#	src/lightzvitthread.h
#	src/rpcblockchain.cpp
#	src/wallet.h
#	src/zvit/accumulators.h

* precomputation-upstream conflicts solved

# Conflicts:
#	src/rpcblockchain.cpp
#	src/rpcrawtransaction.cpp

* getaccumulatorwitness method fix

# Conflicts:
#	src/rpcblockchain.cpp

* re added LNZP removed files

# Conflicts:
#	src/Makefile.am

* Remove duplicate functions from rebase

* Fix assertion failure in mining/staking

Need to explicitely set pindexPrev and nHeight within the locked scope.

* Fixup coinspend unit test header includes

* Fix wrapped serial functional test

The error message had changed

* Remove security level in `DoZpivSpend()` call

* Disable precompute for functional tests

The locking can interfere with block generation

* Fixup the interface_rest functional test

* Better logging for CheckCoinSpend

Also re-introduce the regtest specific conditional

* Prevent lock spamming when no stakable inputs are present

* Cleanup arbitrary sleep times in CreateCoinStake

* Fixup bad logprintf

* fixup makefile.am

* Don't error out when a range has already been computed

When a range of blocks has already been computed, use that existing data
 instead of erroring out. This is used in the zPoS pipeline where, after
  precomputation, the passed `pindexCheckpoint` is likely to be at a
  block height below the accumulator's tip/end.

* Fix irrelevant receipt status message

Since security level has been removed, this status message needed to be
changed.

Also removed some stale unused code that was left over from when
security level was used.

* Reduce log spam

New debug category "staking" added with some previous `LogPrintf`
messages recategorized to reduce log spam.

Also noted both "staking" and "precompute" in the init help message and
added them to the "pivx" umbrella category.

# Conflicts:
#	src/init.cpp
#	src/util.cpp

* Fixed compile error

* Merge #843: [Net] Increment Protocol Version

7241582ba3 [Net] Increment Protocol Version (Fuzzbawls)

Tree-SHA512: 12f2b784837de572ca0d96167dc51f355d5d0b042c53fb006186112639388ef5bddfe601fc99af64d3c0ab58013aa7add451616d29073f3b8fc6dfb4d29dce7d

# Conflicts:
#	src/version.h

* v3.2.0 Release

# Conflicts:
#	configure.ac
#	doc/release-notes.md

* [macOS] Remove DS_Store WindowBounds bytes object

Github-Pull: #858
Rebased-From: 21f50784c39d2c87776edb7b959d92d63b95b339

* Don't return an invalid state when shutting down the wallet

When the shutdown process is started, it is possible that the call to
`ValidateAccumulatorCheckpoint()` in `ConnectBlock()` will fail. Instead
 of returning an invalid state, which causes the block to pass through
 `InvalidChainFound()`, just return a stateless error if a shutdown has
 been requested.

Github-Pull: #865
Rebased-From: 8126729c7800d801f0f067d9a2257b8ad74c1a9f

* [Qt] Stop using a solid white image as a border image

This seems to be causing an issue on macOS, resulting in odd magenta
pinstripes. Instead, just set the WalletFrame's background to solid
white via hexcode.

Github-Pull: #863
Rebased-From: 9a855a8b50a3be548f3d8df7a7fc4f00baef0f73

* Remove now-unused image files

Github-Pull: #863
Rebased-From: 38e92f3a2678571cae2908d2140bb2f41e339143

# Conflicts:
#	src/qt/res/images/walletFrame.png
#	src/qt/res/images/walletFrame_bg.png

* [QT] Fix a display bug about zPIV mints

When opening the zPIV coin selection in privacy tab, if the wallet is
locked the message for all mints is that the seed is wrong. This commit
fixes it by replacing the message and stating that the locked wallet
prevents precomputation and spending.

Github-Pull: #852
Rebased-From: 94bea35e5569c323a667d8204bc2d23b15d4dc29

* [Net] Add new checkpoints for mainnet/testnet

This adds two new checkpoints for mainnet:
 * Block 1679090 - first block with a wrapped serial
 * Block 1686229 - last block that zPIV was active

Also for testnet:
 * Block 1016800 - Arbitrary recent block

Github-Pull: #861
Rebased-From: 9ce73e55db0f0c3013c08bee06648c40b705b86a

# Conflicts:
#	src/chainparams.cpp

* [Qt] Prevent double deletion of progress dialog

When `showProgress()` is passed a `100` int value, the dialog is deleted
. If the function is passed a `100` int value a second time in the same
scope, like what happens at the end of `RecalculateZPIVSpent()` and
`RecalculateZPIVSupply()`, it results in a segfault.

This change standardizes the process by first initializing the progress
dialog with a `0` value, updating to a maximum of a `99` value inside
the loop, and finally closing with a `100` value after the loop has
completed.

Github-Pull: #860
Rebased-From: fa0e1f301cb4c668706a14df8ae6e149c714ef6f

* [Build] Update debian contrib files

Github-Pull: #866
Rebased-From: 51616cb0d71541326b5060f7f93a51889c61cfc6

# Conflicts:
#	Makefile.am
#	contrib/debian/README.md
#	contrib/debian/changelog
#	contrib/debian/manpages/pivx-qt.1
#	contrib/debian/manpages/pivx.conf.5
#	contrib/debian/manpages/pivxd.1
#	contrib/debian/pivx-qt.desktop
#	contrib/debian/pivx-qt.install
#	contrib/debian/pivxd.bash-completion
#	contrib/debian/pivxd.install
#	contrib/debian/pivxd.manpages
#	share/ui.rc

* [Performances] Decrease the number of wasted CPU cycles

Github-Pull: #868
Rebased-From: 97720be5b945d1d490f6f6fa940b4620f6bbdb12

* PIVX Core v3.2.1 Release

# Conflicts:
#	doc/release-notes.md

* [Net] Valid blocks from forks badly rejected due an invalid view of the available utxo set for forked chains + split height going one block further than what should be.

[Net] acceptBlock, back to chain split was going one block further if prev was the previous block of the incoming block.

[Net] coins cache view only has the tip view and not forks utxo chain view.

Github-Pull: #880
Rebased-From: 2c76194c757ddd6a9081ee555b191c6dbb326c50

* [Net] AcceptBlock, first prev block loaded from disk.

Github-Pull: #880
Rebased-From: 754764be02af58b0b2059f580b40bf5f6380fa4d

* [Net] Add additional checkpoints

This adds two additional checkpoints for known split points

Github-Pull: #884
Rebased-From: af28b90a4ab119102ed995a20614025a55256526

# Conflicts:
#	src/chainparams.cpp

* Fix incorrect last checkpoint timestamp

Github-Pull: #887
Rebased-From: a0af2a75257a86f585580152e73de24b331c9264

# Conflicts:
#	src/chainparams.cpp

* 3.2.2 Release

# Conflicts:
#	doc/release-notes.md

* Fixed compile error

* Fixed coin name

* Fixed coin name

* Fixed coin name

* Merged branch pr/49

* Merge #890: [Refactor] Remove unused setStakeSeen variable

b5a525767a [Refactor] Remove unused setStakeSeen variable (warrows)

Tree-SHA512: c5244b3cf269d3b6171a5b241265b98bffcfbf580cecbf9cc2741ea2b3374deb558459a8764f1931080331b11456a8d129dbcc3b6e59955f15bc184333e23ca8

# Conflicts:
#	src/main.cpp

* Fixed compile error

* Merge #896: [UI] Simplify Qt margins.

d7afebb [UI] Simplify Qt margins. No functional change. (warrows)

Tree-SHA512: c29c1d416d81ccda15d90c26fcadc9b67dcd27b8b7bdbd55c951e0ddd6c809b0cc7cc0dfc3590dc45fa2fb4f0e5218d9da2a424cb3a953d9b542de34ab7b693c

# Conflicts:
#	src/qt/forms/masternodelist.ui

* Merge #888: [Zerocoin] remove CTransaction::IsZerocoinSpend/IsZerocoinMint

f14569faa [Zerocoin] remove CTransaction::IsZerocoinSpend and CTransaction::IsZerocoinMint (random-zebra)

Tree-SHA512: 0e7ab5ee37215454af1b09d25454bedaf8f92baf0ca598d5c639bb1b6f642ca93d21a8d2707af3c4cece06d7b6cd98a019e8b4c16712d774f23b5b41ee059a57

# Conflicts:
#	src/blocksignature.cpp
#	src/main.cpp
#	src/miner.cpp
#	src/qt/privacydialog.cpp
#	src/qt/transactionrecord.cpp

* Fixed compile error

* Merge #830: [Refactor] Remove BOOST_FOREACH

4f6cd20b0d Cleanup clang's range loop analysis warnings (Fuzzbawls)
e1c549e8a7 [Refactor] Remove useless BOOST includes and readd where needed (warrows)
4d44c9781a [Refactoring] Replace BOOST FOREACH with for : (warrows)

Tree-SHA512: a61e8968a28c86f33f753b693559a58a632e01b6408b7f0653772206fa9f20fb2df83e432ed74e33d1bed29a302ff4b98c30bbe53111faf1f50ed3acf8888190

# Conflicts:
#	src/activemasternode.cpp
#	src/init.cpp
#	src/masternode-budget.cpp
#	src/masternodeman.cpp
#	src/net.cpp
#	src/obfuscation.cpp
#	src/qt/masternodelist.cpp
#	src/swifttx.cpp
#	src/wallet.cpp

* Removed more BOOST_FOREACH and fixed compile error

* Merge #810: [Depends] Fix archs (fixes s390x and ppc64el builds on snap)

2fdc74b280 update qt.mk with arch fix (see previous commit) (cevap)
b22610c6f1 add QT patch for s390x, mips, powerpc and sparc (cevap)
1a756e0066 Fix qt for m68k and alpha (cevap)
f52a72ef0f Fix openssl for m68k and alpha (cevap)
e12b4493fb Fix boost for m68k and alpha (cevap)
32f2684b9e Fix openssl for sparc64 (cevap)
5de083f1d6 Fix qt for sparc64 (cevap)
f1e537e05d Fix boost for sparc64 (cevap)
188d0ea7a4 Fix qt for powerpc/ppc64el (cevap)
c590d072ab Fix openssl for powerpc/ppc64el (cevap)
def4374308 Fix qt for s390x (cevap)
ed61951516 Fix openssl for s390x (cevap)
d1489c8985 Fix boost for s390x (cevap)

Tree-SHA512: 90add202dde7c3252bdc92974936fa50daf66a34e29cfbbee3222771ea89d061466e39300d3449b5e8b43fd1d8b8828b694ad83624c959c7cc331463a7aef7f8

# Conflicts:
#	depends/packages/openssl.mk
#	depends/packages/qt.mk

* Merge #806: [Test] Create new per-test fixtures

c5054e4 tests: add a BasicTestingSetup and apply to all tests (Wladimir J. van der Laan)
962a1bc Reinitialize state in between individual unit tests. (Pieter Wuille)

Tree-SHA512: 47bab117a394de5f7dc9079f940969df6e3369f96128c1009c55005d30adb1dbc048900f04649caae2976518cad1065419f1d91baebffe0c3f3c2d9897450c08

# Conflicts:
#	src/Makefile.test.include
#	src/test/test_vitae.cpp
#	src/test/zerocoin_denomination_tests.cpp
#	src/test/zerocoin_implementation_tests.cpp

* Fixed coin name

* Merge #875:  [Zerocoin] GMP BigNum: Fix limits for random number generators

253c63e [Zerocoin] include 0 in randBignum() range (random-zebra)
daeb752 [Test] Add tests for bignum random generators (random-zebra)
5627807 [Zerocoin] Fix limits for random number generators in GMP bignum implementation (random-zebra)

Tree-SHA512: c88ab99912683736a886065ecfbfd52aeb419357ee0e7eb6e3c1a09c22c3c316884bf8606f44d13e0f0fcb4de4137fb52339b556eb6e1a134b7aafff36c1d414

# Conflicts:
#	src/libzerocoin/bignum.h
#	src/libzerocoin/bignum_gmp.cpp
#	src/libzerocoin/bignum_openssl.cpp
#	src/test/zerocoin_implementation_tests.cpp

* Updated big number from upstream

* Merge #900: [UI] Fix improperly parented walletView and segmentation fault on QT 5.10

a4205f2 [UI] Fix improperly parented walletView. (Julian Meyer)

Tree-SHA512: ba523274a9e336a884f097dcff5a0e47e294517254350287dd0c2572c63010e63a33734707bcdca753f454f85c4bbe052817172b719e7ac66bcdbdef71d151a2

* Merge #898: [Qt] Fixup duplicate label names

4e8f46a376 [Qt] Fixup duplicate label names (Fuzzbawls)

Tree-SHA512: 6cee761fae0d6d387523d286ddbc8fa6f61ef702ec406aa9108dedaccb1b8a0f343b7c01778f9d86be7e76e437d390e468c2593f2514c47350415da696744609

* [Zeroocoin] public coin spend script creation, validation and un/serialization.

# Conflicts:
#	src/Makefile.am
#	src/zvit/zpivmodule.cpp
#	src/zvit/zpivmodule.h

* Fixed compile error

* [UNIT TEST] publicCoinSpend valid input creation and verification.

[UNIT TEST] publicCoinSpend creation + validation completed.

* [Wallet] public coin spend creation connected + first mem pool validation.

[Zerocoin] public coin spend improvements.

[Zerocoin] publicCoinSpend validations connected to the accept txes flow.

[Zerocoin] public spends not checked as regular inputs.

[Zerocoin] publicCoinSpend validation as regular spends.

non good solution for the coinSpend pointer inheritance issue but at least working

[Zerocoin] ParseZerocoinPublicSpend moved into zpivmodule file.

cleanup unused field.

# Conflicts:
#	src/main.cpp
#	src/main.h
#	src/qt/transactionrecord.cpp
#	src/wallet.h
#	src/zvit/zvitmodule.cpp
#	src/zvit/zvitmodule.h
#	src/zvitchain.cpp

* [zPIV] zPIV Maturity --> Minimum amount of coins accumulated no needed anymore.

# Conflicts:
#	src/wallet.cpp

* [zPIV] publicCoinSpend signature hash relevant data inclusion.

* [zPIV] rebase problems fixed. (Needs more testing)

* Fixed compile error

* [zPIV] new protocol enforcement height added. Height not final, just randomly selected and tested on regtest.

* [zPIV][Cleanup] PublicSpend rebase onto IsZerocoin

# Conflicts:
#	src/zvit/zvitmodule.cpp

* [zPIV] remove enforcement from 'CreateZerocoinSpendTransaction' fixing the unit tests

# Conflicts:
#	src/test/zerocoin_transactions_tests.cpp

* [zPIV][Consensus] reject V1 serials spends.

* [zPIV] prevent v1 zerocoins from being selected for PublicSpends

# Conflicts:
#	src/wallet.cpp
#	src/zvit/zvittracker.cpp

* [zPIV] use new limit Zerocoin_MaxPublicSpendsPerTransaction for max num of inputs

# Conflicts:
#	src/qt/privacydialog.cpp
#	src/wallet.cpp

* [zPIV] mints coin control dialog min accumulation mature text removed + re mint change checkbox not visible anymore.

# Conflicts:
#	src/qt/privacydialog.cpp

* [FUNCTIONAL TESTS] valid PublicCoinSpend transaction test.

* [zPIV[Unit Test] Possible redundant denomination validation.

* [FUNCTIONAL TEST][zPIV] double spent serial validation.

* [RPC] spendzerocoin command can now create old zc spends, only for regression tests

# Conflicts:
#	src/rpcserver.h
#	src/rpcwallet.cpp

* [RPC] Parse public spend on getserials rpc command.

[Cleanup] non used variable commented.

# Conflicts:
#	src/qt/privacydialog.cpp
#	src/rpcblockchain.cpp

* [zPIV] reject priv coin spends on tx mempool acceptance.

* [zPIV] publicCoinSpend version field included in the serialization for any future change.

* [RPC] add 'createrawzerocoinpublicspend' method

* [Tests] add test reorg for public spend

[Unit Test] zc public spend test up-to-date with master.

# Conflicts:
#	src/test/zerocoin_transactions_tests.cpp

* [zPIV] testnet publicSpend enforcement height set.

[zPIV] v1 serials validation was not checked against the publicSpend height.

* [Consensus] spork 15 activation + protocol version bump.

[Consensus] spork 15 + min prev protocol version. (squash this later)

# Conflicts:
#	src/main.cpp
#	src/version.h

* [zPIV] v1 serials modulus fix + isStandardTx fix for publicSpends.

cleanup, publicCoinSpend object leftover removed + minor log added to CheckProofOfStake.

* [Consensus] Testnet enforcement height.

* [GUI] Disable zerocoin minting

# Conflicts:
#	src/qt/forms/privacydialog.ui
#	src/qt/privacydialog.cpp
#	src/qt/privacydialog.h

* [RPC] Disable zerocoin minting

disabling also remint of change of a zc spend

# Conflicts:
#	src/rpcwallet.cpp

* [Consensus] Disable zerocoin minting in contextual check

* [Wallet] Disable automint

* [zPIV][Consensus] fix 'Zerocoin_Block_Public_Spend_Enabled()' enforcement

* [RPC] enable mint only for regtest

# Conflicts:
#	src/rpcwallet.cpp

* Merge #899: [zPIV] Disable zPIV staking

a789d21635 [zPIV] Disable zerocoins inclusion in 'SelectStakeCoins' (random-zebra)

Tree-SHA512: 92da55ee6efe3090ad1b279e3ad4d1f757ca70d0a4b1f820a36b4d5d6dcef126002fc6c2402b2b8d34618f212a192d8dc7505f98a0050691d152ba5a17fb1821

# Conflicts:
#	src/wallet.cpp

* Merge #909: [Consensus] Mainnet public spend enforcement height set.

39f37c5c52 mainnet public spend enforcement height set (furszy)

Tree-SHA512: 41adff5fa6ed7458ef3dcbb33979716996168bff7eccc4759931e8231184462a75020485430d91f88373b6cd3d298d3c0d61a9758aab4e0da3e6ea64d84e3594

* Merge #903: [Log] Handle errors during log message formatting

93bc03763b [Log] Handle errors during log message formatting (warrows)

Tree-SHA512: 55acc54247ad0980a4ed28ff167d35bae5d437e6484bd5ebb8c9cf948e47751d2e7dc4e9c338d7a6d22301f85448b4e6b8c4f6dbf97d68168939d13bdecb310b

* Merge #912: [Cleanup] compiler warnings in coinSpend object.

f912182d27 [Cleanup] clang compiler warnings in coinSpend and publicCoinSpend fixed. (furszy)

Tree-SHA512: 58dbe73519a8eece2a824a19f37b5219c1e189e395afc61f9fcfa54f195befd9f7a49500c4147684a9b58e96fa7ff7906fa956ae8ac249dc7094faaa6cd4a4b6

* Merge #901: [RPC] Fix typos and oversights in listunspent

f3308f404d Fix typos and oversights in listunspent (CaveSpectre11)

Tree-SHA512: b6a4651b5ee27cf757e9effa1d692020823d7c4bbd66a56c990252fc80f7f3333abb1313b37a01f5d444f333c0d4782d4607ca5e4179cf4bac6db5a86cc15f78

* Merge #902: [Tests] Add tests for CAddrMan

c84e0e83ba [Code Style] Remove std namespace in test file (warrows)
3355c86cce Increase test coverage for addrman and addrinfo (Ethan Heilman)
d4da01588b Creates unittests for addrman, makes addrman testable. (EthanHeilman)

Tree-SHA512: cd960109d8f3bdc46dfd58da2136a748aa8ecb1b3bacfa031af0a1544bd90514fe71b8fc63650e61c5872c7a42febc986616252550a71c510bdc7f9e1ab87e0f

* Merge #906: [Build] Add CMake Support

ca2fd101ba use non-Cellar OpenSSL path for macOS (Fuzzbawls)
69b0032749 fix config.h include file name (Fuzzbawls)
d413496b01 [Build] Initial CMake support (Fuzzbawls)

Tree-SHA512: 459d881a6128027c1b1fe6df13b0dce5fe484af377afece74ccc135a5e5ea320496165ffbdef70d806bd879be7cad39d4bfc3cdffbacfc2a61d0c8e53265b0ab

# Conflicts:
#	src/compat/byteswap.h
#	src/compat/endian.h

* Merge #910: [Build] Clean all coverage files during make clean

b75d8bc0bb [Build] Clean all coverage files during make clean (Fuzzbawls)

Tree-SHA512: 5f0e0a4795ea770cabf326c91aea24094de9193684a295f82aa38b42840b0ea38f1a119ba30c6c20eedd1862f22133b66e606912da0f93b420e9ca0549704f41

* Merge #895: [QT] Options UI cleanup

c424f0f244 Fix margins (Alko89)
2d052155ff Hide zpiv related options. (Alko89)

Tree-SHA512: 2944f28e4d2b4baa901a5c1a4bb991eb07bb81d33c285ec32971fa9485522320a6f583f5346c7fadceb2ab0e484f0cba521dc436cfa1586f75bfa05f13eeac9a

# Conflicts:
#	src/qt/forms/optionsdialog.ui

* Merge #919: [zPIV] Debug missing jump line.

addeb0ac06 Update accumulators.cpp (Matias Furszyfer)

Tree-SHA512: 56de08723ba12cb2b7f96b66ed5d6ee2c3912be6397ef1eb56b16d8c805425415b288d9b176981b8e720c6f195acdbfc1156bed5f7c31dcd9547a790cb585a52

* Merge #916: [Staking] Don't assert if we were beaten to the block

24d72d0f64 [code review] LogPrintf nit change (CaveSpectre11)
019d26ac4c Don't assert if we were beaten to the block (CaveSpectre11)

Tree-SHA512: 9818319df999ba21fb6f89dadf254f76ad02d14b4f35fcae5b8d9a6251a0be5212650f3834a61a90fad2a9e8ce242751a9c09f7325c9cccc60223a59a6b3f22c

* Merge #922: [Build] Fix app name casing in mac deploy related files

45ea523e1a [Build] Fix app name casing in mac deploy related files (Fuzzbawls)

Tree-SHA512: 79fd711f3db52e418f42b7cdcf26a4a68456e6727b1362837745eacfe1797eb8fb33a8a86812158c1e833862fca7fedc5e55ef0fa5d4a2d7eff654c646ea8214

# Conflicts:
#	contrib/macdeploy/detached-sig-create.sh
#	contrib/macdeploy/fancy.plist

* Merge #914: [Gitian] Bump gitian build versions

55127d1264 [Gitian] Bump gitian build versions (Fuzzbawls)

Tree-SHA512: 29c6681b76adfb69b2f741d9f50575da0f870df8b822cb2886e10f6d364713221db0a94b017de3e89943e6e52d3aa2d7856604f092b73af14caa0ab9dc0b21bc

# Conflicts:
#	contrib/gitian-descriptors/gitian-linux.yml
#	contrib/gitian-descriptors/gitian-osx-signer.yml
#	contrib/gitian-descriptors/gitian-osx.yml
#	contrib/gitian-descriptors/gitian-win-signer.yml
#	contrib/gitian-descriptors/gitian-win.yml

* Merge #924: [Backport] Max tip age to consider a node in IBD status customizable.

46ba7a2b96 [Backport] Max tip age to consider a node in IBD status customizable. Backport from bitcoin##7208. (furszy)

Tree-SHA512: 211479d05cc8226d0bdaa3432204467679b465dfdbcdcf58650ec2fcb415c60544f3ae354f8b460adc6cd7e2d56ce6b3a52dd77ac92017eb7f66d98a76051bb2

# Conflicts:
#	src/init.cpp
#	src/main.cpp

* Merge #913: [Depends] Update from upstream

d2136e30e0 depends: Update from upstream (Fuzzbawls)

Tree-SHA512: 9ce1b15170113cd207090f8986efd809cc6f4859132140e1c09f573e1015115ff82d961d7fc21375f8a5346de6bea656bb3bfb190ab95c60c080145d8ea67137

# Conflicts:
#	.travis.yml
#	configure.ac
#	depends/Makefile
#	depends/README.md
#	depends/config.site.in
#	depends/packages/expat.mk
#	depends/packages/miniupnpc.mk
#	depends/packages/native_biplist.mk
#	depends/packages/native_mac_alias.mk
#	depends/packages/packages.mk
#	src/Makefile.am

* Fixed compile error

* Merge #917: [Build] TravisCI Update

342f0341de Disable known failing regression tests (Fuzzbawls)
a5f887b00e [Travis] Update TravisCI from upstream (Fuzzbawls)

Tree-SHA512: 0cf866696ffb6cff539a1412c95f1f10a6e031629f153aa9a01b5326b77bc7de53912c36d254c859e437d7c3035f466d3b3db79aab26cec4767c75e45e16559a

# Conflicts:
#	.travis.yml
#	.travis/lint_04_install.sh
#	.travis/test_03_before_install.sh
#	.travis/test_04_install.sh
#	.travis/test_06_script_a.sh

* Merge #904: [zPIV] Free memory from ToString()

9c0329c72b [zerocoin] Free memory from ToString() (warrows)

Tree-SHA512: c04bfcf1af3b9fd95cf6aa653367043d4a973805c37e820b3127a3198efbdb0f83eb82d8084409f17e059e44e7c653666899a5733dd1f272d0829ae0ceee388d

* Merge #908: [NET] Non-running dns servers removed from chainParams.

8695fd5fb5 Non-running dns servers removed + warrows dns added. (furszy)

Tree-SHA512: ad98e116255c919d1f0765585578afdb64e0368393faa1954bf23162e705165aa11c8d810ac913bd0c7325a0da096fd99535de5cb66778ad5be15f6a5d81b8c8

# Conflicts:
#	src/chainparams.cpp

* Merge #920: [Docs] Overhaul documentation files

d24742cf37 Remove redundant docs (Fuzzbawls)
007cc8c289 Update src/test/README.md (Fuzzbawls)
d2af9593e4 Introduce translation_strings_policy.md (Fuzzbawls)
019b8f4e8c Update contrib/devtools/README.md (Fuzzbawls)
2bc9d1b0f1 Update developer-notes.md (Fuzzbawls)
d1a65fdcaf Update dnsseed-policy.md (Fuzzbawls)
0b5c0c262b Update release-process.md (Fuzzbawls)
9335a103d1 Update test/functional/README.md (Fuzzbawls)
20f251336a Update doc/README.md (Fuzzbawls)
5b4f73def6 Clean up whitespace in Doxyfile.in (Fuzzbawls)
3cea76be03 Update and reformat init.md (Fuzzbawls)
2f5efbd12c Reformat files.md (Fuzzbawls)
df0d2ba1fe Introduce dependencies.md (Fuzzbawls)
785b61cf56 Update zmq.md (Fuzzbawls)
231f28e696 Update translation_process.md (Fuzzbawls)
c5f6822af5 Update tor.md (Fuzzbawls)
b7d0ec7696 Fix markdown in REST-interface.md (Fuzzbawls)
4fa4cc4ff2 Update Contributing guidelines (Fuzzbawls)
a544132207 Update build notes (Fuzzbawls)

Tree-SHA512: ab422791c3e43d6e455d648c9b6b30943c176e03d2a0702135184108c8887bb39e4bb9c51bab9f9a04a130a297f8db879563e3b45f010c6b1f34482122b78681

# Conflicts:
#	CONTRIBUTING.md
#	contrib/devtools/README.md
#	doc/Doxyfile.in
#	doc/README.md
#	doc/README_osx.md
#	doc/REST-interface.md
#	doc/bootstrap.md
#	doc/build-osx.md
#	doc/build-unix.md
#	doc/build-windows.md
#	doc/developer-notes.md
#	doc/dnsseed-policy.md
#	doc/files.md
#	doc/guide-startmany.md
#	doc/init.md
#	doc/masternode-budget.md
#	doc/masternode_conf.md
#	doc/multiwallet-qt.md
#	doc/release-process.md
#	doc/swifttx.md
#	doc/tor.md
#	doc/translation_process.md
#	doc/unit-tests.md
#	doc/zmq.md
#	src/test/README.md
#	test/functional/README.md

* Merge #921: [Scripts] Overhaul supplemental python/shell scripts

0608b9ca95 Misc updates (Fuzzbawls)
616b1d531c Introduce clang-format-diff.py (Fuzzbawls)
0367807d49 Introduce commit-script-check.sh (Fuzzbawls)
28bd93359a Update gitian-build.py (Fuzzbawls)
b0d7d07512 Update github-merge.py (Fuzzbawls)
fe7bf507d4 Introduce gen-manpages.sh (Fuzzbawls)
035dda7458 Introduce circular-dependencies.py (Fuzzbawls)
70721b47ac Migrate update-translations.py to python3 (Fuzzbawls)
1558ff775e Update install_db4.sh (Fuzzbawls)
5c92f16656 Add multi-purpose copyright header script (Fuzzbawls)

Tree-SHA512: 3cc0637288fe059c340bbaee8e5eda794df985280b739d8a976e6eaa7938bb24eb2bf554c4d1552cc5f45adcd1f1380e4ea390029ed9024f97bf80071918b9f4

# Conflicts:
#	contrib/devtools/security-check.py
#	contrib/gitian-build.py
#	contrib/install_db4.sh

* Merge #911: [RPC] add 'getblockindexstats' function

eea9915361 [RPC] fix locking strategy (random-zebra)
49ef846774 [RPC] fix help texts (random-zebra)
26b1f0ca33 [RPC] 'getblockindexstats': count public spends separately (random-zebra)
7980f23c0c [RPC] fix fee calculation in 'getblockindexstats' and 'getfeeinfo' (random-zebra)
689ac23f62 [RPC] add 'getblockindexstats' function (random-zebra)

Pull request description:

  This introduces a new RPC method `getblockindexstats` to get aggregated BlockIndex data for a range of blocks:
  - transaction count
  - transaction count (including coinbase/coinstake txes)
  - zPIV per-denom mint count
  - zPIV per-denom spend count
  - total transaction bytes
  - total fees in block range
  - average fee per kB

  Since it expands the functionality of `getfeeinfo`, this method has been redirected to call `getblockindexstats` (over the **last** N blocks).

  To avoid code duplication with `getserials` and `getmintsinblocks`, the initial validation of the input params has been refactored in the function `validaterange()`.
  This also contains a fix to prevent the wallet from crashing when calling these functions over out-of-range blocks.

ACKs for commit eea991:
  Fuzzbawls:
    ACK eea9915
  Warrows:
    ACK eea9915

Tree-SHA512: fd424d27b09133f8e1b646044f6e48cb7be8e7b7…
KolbyML pushed a commit to KolbyML/bitcoin that referenced this pull request Aug 2, 2020
KolbyML pushed a commit to KolbyML/bitcoin that referenced this pull request Nov 21, 2020
tohsnoom pushed a commit to VitaeTeam/Vitae that referenced this pull request May 24, 2021
0053876 [RPC]: Fix RPCTimerInterface ordering issue (bitcoin/bitcoin#7317) (random-zebra)

Tree-SHA512: 0e3b5ea32d48d824e37fff701c420e835c1da011cfe10302d47773341ca303ad680b85b2e6d505cda6d29be3e1c0964ee5880f66a67b1aed07aa510ba6fdc312
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Sep 8, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

walletpassphrase timeout doesn't work in bitcoin-qt

4 participants