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

PR #177 conflictions fix #197

Open
wants to merge 133 commits into
base: rel-1.9.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
133 commits
Select commit Hold shift + click to select a range
a07c374
Cleaned up spacing and got travis working
KolbyML Apr 11, 2020
9875777
[DB] Db runtime error cleaning the variable that needs to be logged r…
furszy Aug 27, 2019
83c2cf7
[Build] CMake Improvements
Fuzzbawls Aug 5, 2019
79ece4e
Allow WSL builds with cmake
Fuzzbawls Aug 22, 2019
0066758
Remove openssl info from init/log and from Qt debug window
jonasschnelli Feb 26, 2016
55fd07a
[Refactor] Remove unused OpenSSL includes
Warrows Aug 28, 2019
53c0de3
[Consensus] Remove Old message format in CMasternodeBroadcast
random-zebra Sep 10, 2019
93f8dfe
Always require OS randomness when generating secret keys
sipa Apr 16, 2016
3da089f
Don't use assert for catching randomness failures
sipa Apr 23, 2016
17a818c
util: Specific GetOSRandom for Linux/FreeBSD/OpenBSD
laanwj Feb 21, 2017
c4a4ebc
squashme: comment that NUM_OS_RANDOM_BYTES should not be changed lightly
laanwj Feb 22, 2017
8cf6365
sanity: Move OS random to sanity check function
laanwj Feb 22, 2017
ac8773c
random: Add fallback if getrandom syscall not available
laanwj Feb 22, 2017
ca89d95
Maintain state across GetStrongRandBytes calls
sipa May 3, 2017
acef286
Kill insecure_random and associated global state
laanwj Oct 13, 2016
7bbc2ee
Add ChaCha20
sipa Feb 15, 2017
027dc20
Switch FastRandomContext to ChaCha20
sipa Feb 16, 2017
07ac7db
Introduce FastRandomContext::randbool()
sipa Feb 18, 2017
b769766
Add a FastRandomContext::randrange and use it
sipa Feb 25, 2017
9ae9d61
Use hardware timestamps in RNG seeding
sipa May 3, 2017
961f49b
Test that GetPerformanceCounter() increments
sipa May 5, 2017
74372d1
Use sanity check timestamps as entropy
sipa May 5, 2017
2447d22
Add internal method to add new random data to our internal RNG state
TheBlueMatt May 22, 2017
556addc
Add perf counter data to GetStrongRandBytes state in scheduler
TheBlueMatt May 22, 2017
3eba0f3
random: only use getentropy on openbsd
theuni Jul 17, 2017
f859bdf
[Random] Fix compilation
Warrows Jul 2, 2019
061a21e
Add FastRandomContext::rand256() and ::randbytes()
sipa May 2, 2017
49e45da
Add various insecure_rand wrappers for tests
sipa May 23, 2017
6407a40
Merge test_random.h into test_bitcoin.h
sipa May 23, 2017
4edb342
Replace more rand() % NUM by randranges
sipa Jun 7, 2017
6de3ab4
Replace rand() & ((1 << N) - 1) with randbits(N)
sipa Jun 7, 2017
6e3ef14
[Random / tests] scripted-diff: use insecure_rand256/randrange more
Warrows Jul 6, 2019
f3f85de
Use rdrand as entropy source on supported platforms
sipa May 9, 2017
81774fd
random: fix crash on some 64bit platforms
theuni Jun 16, 2017
b1f402c
Use cpuid intrinsics instead of asm code
sipa Jul 13, 2017
b9bab59
Clarify entropy source
sipa Jul 14, 2017
c0653cd
[Random / tests] scripted-diff: Use randbits/bool instead of randrange
Warrows Jul 6, 2019
e0b48c3
[Rand/test] scripted-diff: Use new naming style for insecure_rand*
Warrows Jul 6, 2019
a45ff27
[Tests] Fix compilation
Warrows Jul 6, 2019
6d7add2
Fix resource leak
Jul 15, 2017
b36d0c9
Add attribute [[noreturn]] (C++11) to functions that will not return
practicalswift Jul 16, 2017
0cb3058
Check if sys/random.h is required for getentropy on OSX.
jameshilliard Jul 27, 2017
7b59944
Bugfix: randbytes should seed when needed (non reachable issue)
sipa Oct 31, 2018
6d83e0e
Do not permit copying FastRandomContexts
sipa Oct 31, 2018
28605a3
[Random] Add a missing include
Warrows Jul 9, 2019
965554f
[Refactor] Use arrays instead of unic vars in Chacha20
Warrows Aug 1, 2019
e5c5183
[Log] Replace a string by the function name in a log
Warrows Aug 1, 2019
2a620f6
Fixes and some clean up
KolbyML Mar 26, 2020
9cd8cf0
[Compilation] Pass caught exceptions by reference
KolbyML Mar 26, 2020
284978f
[Refactor] Add const qualifier to exception catching
KolbyML Mar 26, 2020
79eef0a
Update `crypto/common.h` functions to use compat endian header
Fuzzbawls Sep 21, 2019
9b8d98f
[Refactor] refactor/fix CSporkManager and CSporkMessage classes
random-zebra Sep 10, 2019
827d25b
[Spork] Protect CSporkManager with critical section
random-zebra Sep 10, 2019
0fba7c1
[Spork] CSporkManager class serialization
random-zebra Sep 10, 2019
12cc972
[Spork] Do not accept sporks signed too far into the future
random-zebra Sep 10, 2019
03533a4
[Spork] Remove unused SPORK_7_MASTERNODE_SCANNING
random-zebra Sep 10, 2019
6f07229
[Spork] Remove unused SPORK_11 and SPORK_12
random-zebra Sep 10, 2019
87dd525
[Spork] Define SporkId enum (with its serialization)
random-zebra Sep 10, 2019
cadd048
[Spork] Introduce CSporkDef and remove if/else blocks
random-zebra Sep 10, 2019
219a1ee
[Spork] Make CSporkMessage::vchSig private
random-zebra Sep 10, 2019
1fe8c49
Fix spork RPC to use new spork defs
random-zebra Sep 10, 2019
662b4b6
[Core] ReprocessBlocks: adjust to PIVX blocktime
random-zebra Sep 10, 2019
f1d7b52
[Tests] spork functional test: check spork value after node restart
random-zebra Sep 10, 2019
1e1ecfe
[Spork] fix CSporkManager maps
random-zebra Sep 11, 2019
94e04a1
[Trivial] rename DisconnectBlocks argument for consistency
random-zebra Sep 23, 2019
159e92e
[Trivial] Align the format of the log messages in kernel.cpp
random-zebra Sep 23, 2019
01b248a
[Startup] Don't continue loading the wallet if the shutdown was reque…
furszy Sep 27, 2019
a5adc16
[Trivial] Get rid of compiler warnings
random-zebra Sep 29, 2019
4619005
[Travis] Lower timeout for the full test suite
Warrows Sep 19, 2019
d644f6c
[Startup][Refactor][Backport]
furszy Sep 29, 2019
b0fdf4f
[Logging][Startup]
furszy Sep 29, 2019
8b0283e
[Startup][Wallet] Don't continue rescanning the wallet if shutdown wa…
furszy Oct 2, 2019
5187ee4
[Trivial] Use error() instead of LogPrintf + return false.
furszy Oct 3, 2019
9fcb920
add snapcraft support to pivx, static build
May 28, 2019
543578a
Update for merging
Fuzzbawls Jul 29, 2019
214e931
[Script] Introduce constant for maximum CScript length
random-zebra Oct 8, 2019
c46e22b
[Script] Treat overly long scriptPubKeys as unspendable
random-zebra Oct 8, 2019
789a117
[Bug] Fix OOM when deserializing UTXO entries with invalid length
random-zebra Oct 8, 2019
01f8c1c
CDataStream::ignore Throw exception instead of assert on negative nSize
random-zebra Oct 8, 2019
f522a5b
[Tests] Add tests for CCoins deserialization
random-zebra Oct 8, 2019
1f787a5
[Wallet] Do not store Merkle branches in the wallet
Warrows Jul 20, 2019
658050b
Fixes and some clean up
KolbyML Mar 27, 2020
7fd7295
[Refactor] Move wallet functions out of header
KolbyML Mar 27, 2020
b76e854
[Wallet] Keep track of explicit wallet conflicts instead of using
Warrows Jul 17, 2019
4728b29
[Wallet] Do not flush the wallet in AddToWalletIfInvolvingMe(..)
Warrows Jul 19, 2019
2c9fcc4
[Wallet] Switch to a constant-space Merkle root/branch algorithm
Warrows Jul 20, 2019
e27638c
[Wallet] sort pending wallet transactions before reaccepting
dexX7 Dec 19, 2014
6a0dd8e
Make sure conflicted wallet tx's update balances
morcos Jan 6, 2016
62aaf72
Make wallet descendant searching more efficient
morcos Jan 7, 2016
e23e5e4
Add new rpc call: abandontransaction
morcos Jan 7, 2016
172b90e
[Wallet] Call notification signal when a transaction is abandoned
jonasschnelli Jan 11, 2016
cd11f5d
Flush wallet after abandontransaction
morcos Dec 9, 2016
a0c5ead
Remove stale wallet transactions on initial load.
presstab Mar 1, 2019
2fe6da3
Fix calculation of balances and available coins.
morcos Mar 17, 2016
9d8415f
Fix that CWallet::AbandonTransaction would only traverse one level
Empact Jul 12, 2018
d56c844
[Tests] Enable abandonconflict functional test
Warrows Jul 28, 2019
5fc8a59
[Wallet] Fix an error in tx depth computation
Warrows Jul 29, 2019
18f8c7a
[Wallet] Ignore coinbase and zc tx "conflicts"
Warrows Sep 23, 2019
1f3df05
[Build] Add new merkle files to CMake lists
Warrows Sep 27, 2019
1b610e6
Fixes and clean up
KolbyML Mar 28, 2020
01d28e1
[Tests] Add RPC budget regression tests
Fuzzbawls Aug 10, 2019
413caac
[Wallet][Startup][DB][Backport] #10952 BTC back port. Named "Remove v…
furszy Sep 30, 2019
b2df72b
[Wallet] Fix inconsistencies with GetDepthInMainChain
random-zebra Oct 11, 2019
4921c7d
[TravisCI] Run CMake Tests earlier
Fuzzbawls Oct 15, 2019
1e98729
Ensure we're building the GUI for all CI tests
Fuzzbawls Oct 15, 2019
de63967
Update .travis.yml
Warrows Oct 18, 2019
28d36d5
[Core][Tests] REGTEST: fix nStakeModifier=0
random-zebra Jul 10, 2019
cf7e253
[Tests] Add wallet_reorg-stake functional test
random-zebra Oct 16, 2019
464b101
[Wallet] Fix bug with coinstake inputs wrongly marked as spent
random-zebra Oct 16, 2019
1cbe3fa
[Tests] Add wallet_reorg-stake functional test to test_runner.py
random-zebra Oct 16, 2019
9396f69
[Core] Prevent coinstakes from overpaying masternodes
random-zebra Oct 21, 2019
8a2cdec
[CMake] Fix macOS Boost detection
Fuzzbawls Oct 21, 2019
12360ca
[Wallet] Transaction IsEquivalentTo method backported + Duplicated me…
furszy Oct 26, 2019
5d5e9e0
[UI] TransactionFilter, do not invalidate the filter if range is alre…
furszy Oct 31, 2019
ae5743f
[Spork] Guard chainActive.Tip() and chainActive.Height() methods call.
furszy Nov 14, 2019
d613a12
[Wallet][RPC] Lock/UnlockCoin const argument + checks in lockunspent
random-zebra Oct 28, 2019
334d851
wallet: Unlock spent outputs
promag May 25, 2018
e5002d5
[Masterndoes] Masternodes sync, try locking cs_main when it looks for…
furszy Nov 9, 2019
22949e2
[Masternodes] Reset mn sync process if it's sleep.
furszy Nov 12, 2019
00ff68d
gui: explicitly disable "Dark Mode" appearance on macOS
fanquake Oct 28, 2018
487f264
build: if VERSION_BUILD is non-zero, include it in the package version
achow101 Oct 30, 2018
c98f3e4
build: include rc number in version number
achow101 Oct 30, 2018
792e542
Update release-process.md to include RC version bumping
achow101 Nov 1, 2018
3227c93
build: Add CLIENT_VERSION_BUILD to CFBundleGetInfoString
fanquake Nov 10, 2018
738635f
build: use full version string in setup.exe
Mar 6, 2019
713eb6d
Some fixes
KolbyML Apr 5, 2020
545338d
Update init.cpp
KolbyML May 20, 2020
fb5c45d
Update benchmark_zerocoin.cpp
KolbyML May 20, 2020
75e50c3
Update masternode-budget.cpp
KolbyML May 20, 2020
bb34701
Update optionsmodel.cpp
KolbyML May 20, 2020
aed099e
f
KolbyML May 20, 2020
0967b2a
Merge branch 'pr177' into upstream-rel-1.9.0-pr175-fix-conflicts
wqking Nov 11, 2021
799f191
Fixed compile errors
wqking Nov 11, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 67 additions & 9 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@
#
# These caches can be manually removed if necessary. This is one of the very
# few manual operations that is possible with Travis, and it can be done by a
# PIVX GitHub member via the Travis web interface [0].
# Phore GitHub member via the Travis web interface [0].
#
# Travis CI uploads the cache after the script phase of the build [1].
# However, the build is terminated without saving the chache if it takes over
# 50 minutes [2]. Thus, if we spent too much time in early build stages, fail
# with an error and save the cache.
#
# [0] https://travis-ci.org/pivx-project/pivx/caches
# [0] https://travis-ci.org/phoreproject/Phore/caches
# [1] https://docs.travis-ci.com/user/caching/#build-phases
# [2] https://docs.travis-ci.com/user/customizing-the-build#build-timeouts

Expand All @@ -33,15 +33,18 @@ cache:
directories:
- $TRAVIS_BUILD_DIR/depends/built
- $TRAVIS_BUILD_DIR/depends/sdk-sources
- $TRAVIS_BUILD_DIR/cmake-build-debug
- $HOME/.ccache
stages:
- lint
- cmake
- test

env:
global:
- MAKEJOBS=-j3
- RUN_UNIT_TESTS=true
- RUN_FUNCTIONAL_TESTS=false # Not Yet Implemented
- RUN_FUNCTIONAL_TESTS=false
- RUN_BENCH=false # Set to true for any one job that has debug enabled, to quickly check bench is not crashing or hitting assertions
- DOCKER_NAME_TAG=ubuntu:18.04
- BOOST_TEST_RANDOM=1$TRAVIS_BUILD_ID
Expand All @@ -64,12 +67,16 @@ script:
- export CONTINUE=1
- if [ $SECONDS -gt 1200 ]; then export CONTINUE=0; fi # Likely the depends build took very long
- if [ $CONTINUE = "1" ]; then set -o errexit; source .travis/test_06_script_a.sh; else set +o errexit; echo "$CACHE_ERR_MSG"; false; fi
- if [ $SECONDS -gt 1500 ]; then export CONTINUE=0; fi # Likely the build took very long; The tests take about 1000s, so we should abort if we have less than 50*60-1000=2000s left
- if [ -n ${BUILD_TIMEOUT+x} ] && [ $SECONDS -gt $BUILD_TIMEOUT ]; then export CONTINUE=0; fi
- if [ $SECONDS -gt 2000 ]; then export CONTINUE=0; fi # Likely the build took very long; The tests take about 1000s, so we should abort if we have less than 50*60-1000=2000s left
- if [ $CONTINUE = "1" ]; then set -o errexit; source .travis/test_06_script_b.sh; else set +o errexit; echo "$CACHE_ERR_MSG"; false; fi
after_script:
- echo $TRAVIS_COMMIT_RANGE
- echo $TRAVIS_COMMIT_LOG
jobs:
allow_failures:
- stage: cmake
fast_finish: true
include:

- stage: lint
Expand All @@ -95,7 +102,7 @@ jobs:
GOAL="install"
# -Wno-psabi is to disable ABI warnings: "note: parameter passing for argument of type ... changed in GCC 7.1"
# This could be removed once the ABI change warning does not show up by default
BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports CXXFLAGS=-Wno-psabi"
BITCOIN_CONFIG="--with-gui=qt5 --enable-glibc-back-compat --enable-reduce-exports CXXFLAGS=-Wno-psabi"

- stage: test
name: 'ARM 64-bit [GOAL:install] [no unit or functional tests]'
Expand All @@ -105,7 +112,7 @@ jobs:
RUN_UNIT_TESTS=false
RUN_FUNCTIONAL_TESTS=false
GOAL="install"
BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports"
BITCOIN_CONFIG="--with-gui=qt5 --enable-glibc-back-compat --enable-reduce-exports"

- stage: test
name: 'Win32 [GOAL: deploy] [no functional tests]'
Expand All @@ -115,7 +122,7 @@ jobs:
PACKAGES="python3 nsis g++-mingw-w64-i686 wine-binfmt wine32"
RUN_FUNCTIONAL_TESTS=false
GOAL="deploy"
BITCOIN_CONFIG="--enable-reduce-exports"
BITCOIN_CONFIG="--with-gui=qt5 --enable-reduce-exports"

- stage: test
name: 'Win64 [GOAL: deploy] [no functional tests]'
Expand All @@ -124,10 +131,10 @@ jobs:
PACKAGES="python3 nsis g++-mingw-w64-x86-64 wine-binfmt wine64"
RUN_FUNCTIONAL_TESTS=false
GOAL="deploy"
BITCOIN_CONFIG="--enable-reduce-exports"
BITCOIN_CONFIG="--with-gui=qt5 --enable-reduce-exports"

- stage: test
name: '32-bit + dash [GOAL: install] [no gui]'
name: '32-bit + dash [GOAL: install]'
env: >-
HOST=i686-pc-linux-gnu
PACKAGES="g++-multilib python3-zmq"
Expand Down Expand Up @@ -207,3 +214,54 @@ jobs:
RUN_FUNCTIONAL_TESTS=false
GOAL="deploy"
BITCOIN_CONFIG="--enable-gui --enable-reduce-exports"

- stage: cmake
name: 'CMake Linux'
language: cpp
compiler:
- gcc
addons:
apt:
packages:
- python3-zmq qtbase5-dev qttools5-dev-tools libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev libgmp-dev
before_install:
install:
before_script:
script:
- mkdir -p $TRAVIS_BUILD_DIR/cmake-build-debug && cd $TRAVIS_BUILD_DIR/cmake-build-debug
- cmake -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - Unix Makefiles" $TRAVIS_BUILD_DIR
- cmake --build $TRAVIS_BUILD_DIR/cmake-build-debug --target all -- -j 3

- stage: cmake
name: 'CMake macOS'
os: osx
osx_image: xcode10.1
language: cpp
compiler:
- clang
addons:
homebrew:
packages:
- autoconf
- automake
- berkeley-db4
- libtool
- boost
- miniupnpc
- openssl
- pkg-config
- protobuf
- python3
- qt5
- zmq
- libevent
- qrencode
- gmp
update: true
before_install:
install:
before_script:
script:
- mkdir -p $TRAVIS_BUILD_DIR/cmake-build-debug && cd $TRAVIS_BUILD_DIR/cmake-build-debug
- cmake -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - Unix Makefiles" $TRAVIS_BUILD_DIR
- cmake --build $TRAVIS_BUILD_DIR/cmake-build-debug --target all -- -j 3
Loading