Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More updates from Pivx Upstream #175

Open
wants to merge 153 commits into
base: master
Choose a base branch
from
Open

More updates from Pivx Upstream #175

wants to merge 153 commits into from

Conversation

KolbyML
Copy link

@KolbyML KolbyML commented Apr 5, 2020

No description provided.

Fuzzbawls and others added 30 commits March 7, 2020 12:24
Another removal of boost dependency as well as fixing up some
`-Wthread-safety-analysis` issues.
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.
No need to define it for every CAddress, as it's memory only anyway.
[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
With C++11 these functions are not needed anymore and gracefully
replaced
The zerocoin database should be wiped on reindex. If leftover information from a fork is left in the db it can lead to potential validation issues in the future and isolated forks.
rebase from upstream. Windows doesn't initialize CService properly
during startup before the masternode.conf file is read.
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.
Tor Icon is displayed when the client is initialized with a successful
tor service connection.

Icon is hidden otherwise.
Instead of using boost::lexical_cast we can just use std::to_string
Use proper include ordering and only include the needed QStyle header.
Also use proper define in header file
Locked balances were being double counted in the total and available
values. This fixes the issue once and for all.

fixes PIVX-Project#654
Fuzzbawls and others added 30 commits April 5, 2020 13:44
This adds extra paths that were left out and ensures that `.gcda` and `
.gcno` files are properly cleaned up.
A timing window exists where a wallet could be creating a new block from within the miner thread when a new block is received to the wallet.  This window will create a situation where TestBlockValidity() fails because the chain tip has changed between the time it created the new block and the time it tested the validity of the block.  

This situation would result in the wallet being asserted; however this is a little overkill.  rather than asserting if the tip has changed, it is better to throw the block away.

This problem was revealed during a testnet test of an altcoin, and very prevalent when multiple wallet existed with the exact same number of staking coins received in the same transaction; or when multiple wallets were staking the same coins via import private key.  The problem happens significantly less in more normal circumstances, but was still observed in a testing environment with fast blocks.

It is likely that this scenario has been encountered but never determined to be root cause, as a crashed wallet could be restarted, re-indexed and never investigated further.
Bumps the gitian build versions to 3.3, which should have been done
right after 3.2 was branched off.

At the same time, update to python3 explicitly and allow for some better
 error reporting.
Most notable change here is the introduction of two breakpoints that
will store the current cache and stop if the previous step took a long
time. This is intended to avoid hitting the global time limit of 50
minutes for builds that would need to rebuild the depends cache.
obfuscationconfig(.h/.cpp) are unused and not needed at all anymore.
This function statically returns `false`, no need to have anything else
here.
These two variables have been meaningless since zPIV's introduction...

Nuke them from orbit!
these functions were used back when obfuscation existed and are no
longer called anywhere in the source tree.
example (added the progress index `n/m`)
```
1/107 - wallet_hd.py passed, Duration: 27 s
.........................................................................................
2/107 - mining_getblocktemplate_longpoll.py passed, Duration: 72 s
..................................................................
3/107 - feature_maxuploadtarget.py passed, Duration: 78 s
```

- clear dots line
```
$ test/functional/test_runner.py -t can_trash
Temporary test directory at can_trash/test_runner_₿_🏃_20181018_220600
1/105 - wallet_hd.py passed, Duration: 21 s
2/105 - mining_getblocktemplate_longpoll.py passed, Duration: 71 s
3/105 - feature_maxuploadtarget.py passed, Duration: 68 s
..................
```

- don't print the `dot` progressive if `--quiet`

- done_str
- nothing commit to check again travis tests
This helps finding out which tests fail to finish.
Travis was regularly failing because the full test suite with coverage
takestoo much time.
Bitcoin has some optimisations in there which allows them to give less
time to the test part of the process. We don't so until we do, we have
to reserve more time. We will probably have to restart manually more
travis jobs but that's the only way to have them run to the end.
We remove the '==' and '!=' operators from CMutableTransaction.
These comparators are never explicitely used in our code.
As it turns out, it was used implicitely and created this situation:
PIVX-Project#510
So this change fixes PIVX-Project#510.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.