Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2762 commits
Select commit Hold shift + click to select a range
fb59e1d
Only relay Taproot spends if next block has it active
sipa Oct 16, 2020
b19c618
Increase feature_taproot inactive test coverage
sipa Oct 30, 2020
4620301
test: fix creation of std::string objects with \0s
vasild Sep 23, 2020
5e6fe52
style: minor improvements as a followup to #19845
vasild Sep 29, 2020
7073e8b
refactor: qt: Use vQueueNotifications.clear()
promag Oct 28, 2020
1709433
docs: Correct getblockstats documentation for (sw)total_weight
shesek Nov 1, 2020
6071dd7
doc: fix getchaintxstats fields in release-process.md
jonatack Nov 1, 2020
f79df5c
Add script equivalent of functions in address.py
achow101 Apr 7, 2020
41a536c
Avoid dumpprivkey and watchonly behavior in rpc_signrawtransaction.py
achow101 Apr 7, 2020
2ef9f71
tests: Add a --legacy-wallet that is mutually exclusive with --descri…
achow101 Apr 27, 2020
c0f8794
Use importdescriptors when in descriptor wallet mode in wallet_create…
achow101 Apr 7, 2020
d9298ff
Use separate watchonly wallet for multisig in feature_nulldummy.py
achow101 Apr 6, 2020
8ec4a3d
Disable some tests for tool_wallet when descriptors
achow101 Oct 27, 2020
e32a227
Make raw multisig tests legacy wallet only in rpc_rawtransaction.py
achow101 Apr 8, 2020
66327a9
Use importdescriptors for descriptor wallets in wallet_bumpfee.py
achow101 Apr 6, 2020
08a64cf
Make import tests in wallet_listtransactions.py legacy wallet only
achow101 Apr 6, 2020
e366241
Do addmultisigaddress tests in legacy wallet mode in wallet_address_t…
achow101 Apr 7, 2020
f66bf9c
Update feature_backwards_compatibility for descriptor wallets
achow101 Oct 27, 2020
333ead9
Add descriptor wallet output to tool_wallet.py
achow101 Apr 6, 2020
40bc9c8
Update wallet_labels.py to not require descriptors=False
achow101 Oct 26, 2020
54a7d2e
Update wallet_importprunedfunds to avoid dumpprivkey
achow101 Apr 3, 2020
8c10f18
Move import and watchonly tests to be legacy wallet only in wallet_ba…
achow101 Apr 6, 2020
740bf32
Avoid dumpprivkey in wallet_listsinceblock.py
achow101 Apr 6, 2020
1375720
tests: Make only desc wallets for wallet_multwallet.py --descriptors
achow101 Oct 29, 2020
02922d6
Avoid creating legacy wallets in wallet_importdescriptors.py
achow101 Oct 27, 2020
20d647d
Use a separate watchonly wallet in rpc_fundrawtransaction.py
achow101 Apr 4, 2020
d28663b
Update assumed chain params
Oct 29, 2020
2b0f459
[wallet] Return object from upgradewallet RPC
stackman27 Oct 19, 2020
4897655
test: Only try witness deserialize when checking for witness deserial…
Nov 2, 2020
6753695
script: fix deprecation warning in makeseeds.py
jonatack Nov 2, 2020
20a4d0b
doc: update contrib/seeds/README dnspython installation info
jonatack Nov 2, 2020
ac632a8
fuzz: Check for addrv1 compatibility before using addrv1 serializer o…
practicalswift Nov 2, 2020
4e4ad0c
fuzz: Fix DecodeHexTx fuzzing harness issue
practicalswift Nov 2, 2020
8ff1241
[net] Consolidate logic around calling CAddrMan::Connected()
jnewbery Nov 3, 2020
d282d9f
Ignoring (but warn) on duplicate -wallet parameters
jonasschnelli Oct 20, 2020
b9ca14b
test: Remove unused unnamed parameter from block.serialize call
Nov 3, 2020
8664518
test: Fix deser issue in create_block
Nov 3, 2020
7f6aa71
Small improvements to the Taproot functional tests
sipa Oct 21, 2020
b6dadfc
test: Fix intermittent feature_taproot issue
Nov 3, 2020
9353b6d
Remove dead CheckForkWarningConditionsOnNewFork
Sep 7, 2020
3df00ce
doc: Clarify that vpindexToConnect is in reverse order
Oct 28, 2020
83b8ac1
ci: Bump timeout factor
Nov 3, 2020
4de8694
ci: Run ci configs on cirrus
Jun 7, 2020
9590d8c
macOS deploy: use the new plistlib API
jonasschnelli Nov 4, 2020
23802d9
[addrman] Fix Connected() comment
jnewbery Nov 4, 2020
194df0c
test: Fix intermittent rpc_net issue
Nov 4, 2020
4349a7b
Make it easier to reason about node eviction by removing unused NodeE…
practicalswift Nov 4, 2020
9e464e3
fuzz: Add missing ECC_Start to descriptor_parse test
S3RK Nov 4, 2020
31b275e
wallet: have ScriptPubKeyMan::Upgrade check against the new version
achow101 Apr 29, 2020
a197e33
wallet: remove nWalletMaxVersion
achow101 Apr 29, 2020
f55fb1f
wallet: upgrade the CHDChain version number when upgrading to split hd
achow101 Apr 29, 2020
19b9baf
tests: Add a sha256sum_file function to util
achow101 Apr 30, 2020
f0bfa14
test: Add test_framework/bdb.py module for inspecting bdb files
achow101 Apr 30, 2020
159b042
tests: Test specific upgradewallet scenarios and that upgrades work
achow101 Apr 30, 2020
d9c7e06
wallet: Remove -upgradewallet from dummywallet
Apr 21, 2020
62b6d9c
test: Remove unused wallet.dat
Apr 21, 2020
00b3f3d
fuzz: Assert expected DecodeHexTx behaviour when using legacy decoding
practicalswift Nov 4, 2020
13d542e
Set bilingual error completely
hebasto Nov 5, 2020
78211b5
travis: Remove s390x build
Nov 5, 2020
e0838e2
ci: Set LC_ALL=C to allow running the s390x tests in qemu
Nov 5, 2020
048edb5
test: Fix wallet_multiwallet test issue on Windows
Nov 5, 2020
71f997d
scripted-diff: [build] Ensure source tarball has leading directory name
Nov 5, 2020
fef6c20
test: Fix intermittent issue in wallet_listsinceblock
Nov 5, 2020
0d57550
wallet: Set DatabaseStatus::SUCCESS in MakeSQLiteDatabase
Nov 5, 2020
db5aa28
fix ecdsa verify in test framework
stepansnigirev Nov 5, 2020
6669dfc
Bugfix: Wallet: Soft-fail exceptions within ListWalletDir file checks
luke-jr Jul 13, 2020
46675e5
QA: wallet_multiwallet: Check that recursive symlink directory and wa…
luke-jr Jul 13, 2020
66c0845
cirrus: Skip tasks on the gui repo main branch
Nov 6, 2020
0cfb098
docs/descriptors.md: Remove hardened marker in the path after xpub
dgpv Nov 6, 2020
2585e3d
test: Mock IBD in net_processing fuzzers
Nov 6, 2020
696b8ab
refactor: Drop redudant CWallet::GetDBHandle
promag Sep 17, 2020
c921ea5
refactor: Assert before dereference in CWallet::GetDatabase
promag Sep 19, 2020
e834282
Bump minimum python version to 3.6
ajtowns Jul 13, 2020
93519bf
[tests] Recommend f-strings for formatting, update feature_block to u…
ajtowns Jul 13, 2020
ffccf1a
ci: Move documentation to correct config file
Nov 8, 2020
15c9bd2
ci: Replace TRAVIS_OS_NAME with CI_OS_NAME
Nov 8, 2020
c364c6b
ci: Run arm ci config on cirrus
Nov 8, 2020
10792be
ci: Run macos ci config on cirrus
Nov 8, 2020
3f20857
ci: Run windows ci config on cirrus
Nov 9, 2020
de44f1b
swapped "is" for "==" in literal comparison
Nov 8, 2020
04addc8
fuzz: Check for addrv1 compatibility before using addrv1 serializer/d…
practicalswift Nov 9, 2020
8dc02ca
fuzz: Assert roundtrip equality for both addrv1 and addrv2 versions o…
practicalswift Nov 9, 2020
98e6ca2
src/randomenv.cpp: fix build on uclibc
ffontaine Nov 9, 2020
f5a8bb0
depends: Allow relative CONFIG_SITE path env var
dongcarl Nov 9, 2020
cae4eb3
lint: Also lint files with shellcheck directive
dongcarl Nov 9, 2020
31166cd
depends: Fix PYTHONPATH setting in config.site.in
dongcarl Nov 9, 2020
45223cf
depends: native_ds_store 1.3.0
fanquake Nov 7, 2020
18b7459
ci: Remove redundant valgrind fuzz task
Nov 11, 2020
4c1abd2
test: Suppress epoll_ctl data race
Oct 22, 2020
397c9f7
wallet: fix scanning progress calculation for single block range
theStack Nov 8, 2020
c2da84b
Avoid signed integer overflow when loading a mempool.dat file with a …
practicalswift Nov 11, 2020
d1363a2
wallet: fix bug in RPC send options
jonatack Nov 5, 2020
8b56f5c
wallet: add CFeeRate ctor doxygen documentation
jonatack Nov 10, 2020
9cf5dca
wallet: remove unneeded WALLET_BTC_KB_TO_SAT_B constant
jonatack Nov 5, 2020
bda1cb3
wallet: introduce fee_rate (sat/vB) param/option
jonatack Nov 4, 2020
dab9b25
wallet: remove redundant bumpfee fee_rate checks
jonatack Nov 9, 2020
b33ef1f
wallet: add fee_rate unit warnings to bumpfee
jonatack Nov 9, 2020
1bf2173
wallet: remove fee rates from conf_target helps
jonatack Nov 5, 2020
dffff72
addrman: ensure old versions don't parse peers.dat
vasild Nov 2, 2020
4c9361c
fuzz: Improve coverage for CPartialMerkleTree fuzzing harness
practicalswift Nov 11, 2020
a8762f2
Remove references to CreateWalletFromFile
fanquake Nov 2, 2020
eb48167
wallet: update fee rate units, use sat/vB for fee_rate error messages
jonatack Nov 8, 2020
33a3b6c
wallet: update remaining rpcwallet fee rate units to BTC/kvB
jonatack Nov 6, 2020
3670b3a
wallet: provide valid values if invalid estimate mode passed
jonatack Nov 10, 2020
581ad30
wallet: use MIN_RELAY_TX_FEE in bumpfee help
jonatack Nov 10, 2020
bcb28f2
wallet: update sendtoaddress, send RPC examples with fee_rate
jonatack Nov 5, 2020
2a92a5f
wallet: override minfee checks (fOverrideFeeRate) for fee_rate
jonatack Nov 12, 2020
908d71f
tests: Add fuzzing harness for CAddrMan
practicalswift May 24, 2020
a880464
fuzz: Use ConsumeRandomLengthBitVector(...) in src/test/fuzz/connman …
practicalswift Nov 12, 2020
288d7d9
fix potential devision by 0
jonasschnelli Nov 12, 2020
98124bd
tests: Remove no longer needed UBSan suppression (float-divide-by-zer…
practicalswift Nov 12, 2020
08de948
build: convert "echo" usage into a patch in qt package
fanquake Sep 4, 2020
0f42c9e
build: document preprocessing steps in qt package
fanquake Sep 4, 2020
0fef345
build: don't copy Info.plist.* into mkspec for macOS qt build
fanquake Sep 4, 2020
36dfc48
build: remove plugin_no_soname from mac qt qmake.conf
fanquake Sep 4, 2020
966804f
build: remove global_init_link_order from mac qt qmake.conf
fanquake Nov 13, 2020
95a48fe
build: pass XCODE_VERSION through to qt macOS cross compile conf
fanquake Sep 4, 2020
9b4f882
Silence false positive GCC warning
kristapsk Nov 14, 2020
9c660cb
Add missing optional.h include
kristapsk Nov 14, 2020
611ba1f
gui: create wallet: add advanced section
Sjors Sep 18, 2020
dd200b5
gui: create wallet: name placeholder
Sjors Sep 18, 2020
a0d52c3
CI/Cirrus: Skip merge_base step for non-PRs
luke-jr Nov 14, 2020
0a7ce0b
ci: Use the previous build worker image in AppVeyor
hebasto Nov 15, 2020
5ec8801
qt: Pre-splitoff translations update
laanwj Nov 16, 2020
e965134
test: run mempool_spend_coinbase.py even with wallet disabled
Nov 13, 2020
2c14ef8
Break circuit earlier
lontivero Nov 16, 2020
7dac912
[upgradewallet] removed unused warning param
stackman27 Oct 12, 2020
740d806
CConnman: initialise at declaration rather than in Start()
ajtowns Nov 17, 2020
3e65dee
refactor: Change pointer to reference because it can not be null
Nov 17, 2020
322694c
build: Bump master version to 0.21.99
laanwj Nov 18, 2020
00510f1
doc: Remove generated manual pages from master branch
laanwj Nov 18, 2020
36ecb94
doc: clean out release notes post branch-off
fanquake Nov 18, 2020
14e7ceb
build: Bump gitian descriptors to 0.22
fanquake Nov 18, 2020
9851c8f
build: set minimum supported macOS to 10.14
fanquake Nov 18, 2020
2790e57
build: Require C++17 compiler
Jun 6, 2020
11fd146
Use std::make_unique
Jun 5, 2020
d9d3dec
wallet: refactor GetClosestWalletFeature()
jonatack Nov 16, 2020
8502889
Include wallet/bdb.h where it is actually being used
achow101 Oct 19, 2020
eb0b067
Do not compile BDB things when USE_BDB is defined
achow101 Oct 19, 2020
2bf315e
Enforce salvage is only for BDB wallets
achow101 Oct 19, 2020
c4ea354
RPC: Require descriptors=True for createwallet when BDB is not compiled
achow101 Oct 19, 2020
dd1fbd0
Allow disabling BDB in configure with --without-bdb
achow101 Oct 19, 2020
fe3109e
Fix mock SQLiteDatabases
achow101 Oct 26, 2020
52cd835
GUI: Force descriptor wallets when BDB is not compiled
achow101 Oct 19, 2020
205f4b4
Drop the leading 0 from the version number
achow101 Oct 22, 2020
caa5069
Don't upgrade to HD split if it is already supported
achow101 Nov 18, 2020
8de8841
wallet: Do not treat default constructed types as None-type
Nov 17, 2020
3454e3e
Squashed 'src/univalue/' changes from 98261b1e7b..98fadc0909
Nov 19, 2020
62fe4f7
fuzz: Make addrman fuzzing harness deterministic
practicalswift Nov 19, 2020
74d7626
wallet: fix and improve upgradewallet result responses
jonatack Nov 16, 2020
15cb7bc
wallet: fix and improve upgradewallet error responses
jonatack Nov 17, 2020
a54bffc
wallet (not for backport): improve upgradewallet error messages
jonatack Nov 17, 2020
c9320b7
tests: shrink feature_taproot transfer of funds tx
ajtowns Nov 19, 2020
deedcf3
sanitizers: Add suppression for unsigned-integer-overflow in libstdc+…
jonasschnelli Nov 20, 2020
a5c5fdd
Allow zero-fee fundrawtxn and walletcreatefundedpsbt calls
jonatack Nov 19, 2020
3425057
Update feeRate (BTC/kvB) to fee_rate (sat/vB) in wallet_bumpfee
jonatack Nov 19, 2020
34411a6
Use the correct incremental fee constant in bumpfee help
jonatack Nov 19, 2020
8b68f75
net: Treat raw message bytes as uint8_t
Nov 20, 2020
92fb66a
Fix version string in Windows and Mac installers
achow101 Nov 21, 2020
239e0fb
test: Fix intermittent issue in mempool_compatibility
Nov 23, 2020
7a437fd
test: add is_bdb_compiled helper
Sjors Nov 23, 2020
a19d82d
ci: Run nowallet ci config on cirrus
Jun 7, 2020
3224d6c
ci: Run i686 centos ci config on cirrus
Jul 25, 2020
5dd8278
ci: Fix doc typos in .cirrus.yml
Nov 23, 2020
93f066b
Fix QPainter non-determinism on macOS
achow101 Nov 21, 2020
8ebab18
test: Fix intermittent p2p_finerprint issue
Nov 23, 2020
2c0db61
depends: boost: Refer to version in URL
dongcarl Aug 8, 2020
f933505
depends: boost: Bump to 1.71.0
dongcarl Aug 8, 2020
d931f1c
depends: boost: Split into non-/native packages
dongcarl Aug 8, 2020
d729c50
depends: boost: Disable all compression
dongcarl Aug 8, 2020
c189131
depends: boost: Cleanup architecture/address-model
dongcarl Aug 8, 2020
faab5f3
depends: boost: Cleanup toolset selection
dongcarl Aug 8, 2020
4dd2809
depends: boost: Remove unnecessary _archiver_
dongcarl Aug 8, 2020
3a02192
depends: boost: Specify cflags+compileflags
dongcarl Aug 8, 2020
9987703
doc: Release note regarding -rpcauth validation
promag Nov 23, 2020
5951cff
rpc: Validate -rpcauth arguments
promag Nov 23, 2020
1088ff7
rpc: Refactor to process -rpcauth once
promag Nov 16, 2020
e85869f
build: Avoid secp256k1.h include from system
dergoegge Nov 23, 2020
0283fa4
depends: build bdb with -std=c++17
fanquake Nov 23, 2020
1431786
depends: build Boost with -std=c++17
fanquake Nov 23, 2020
9ed9a2f
depends: build zeromq with -std=c++17
fanquake Nov 23, 2020
43a3caa
builds: don't pass -silent to qt when building in debug mode
fanquake Nov 23, 2020
d6d8000
depends: build qt in c++17 mode
fanquake Nov 23, 2020
4672378
RPC/Wallet: unloadwallet: Clarify docs/error when both the RPC endpoi…
luke-jr Nov 21, 2020
d04735e
RPC/Wallet: unloadwallet: Allow specifying wallet_name param matching…
luke-jr Nov 21, 2020
743a0ab
test: Add testing of ParseInt/ParseUInt edge cases with leading +/-/0:s
practicalswift Nov 23, 2020
6ff4786
util: Allow Assert(...) to be used in all contexts
practicalswift Oct 11, 2020
c5fc0f4
util: Add Assume() identity function
Oct 12, 2020
4055cba
util: Remove probably misleading TODO
Nov 24, 2020
7637079
doc: Document current boost dependency as 1.71.0
laanwj Nov 24, 2020
a3ad078
Don't set BDB flags when configuring without
jonasschnelli Nov 24, 2020
7fc1c1d
Move NodeImpl from interfaces/node.cpp to node/interfaces.cpp
ryanofsky Nov 24, 2020
cc908c8
Move ChainImpl from interfaces/chain.cpp to node/interfaces.cpp
ryanofsky Nov 24, 2020
746786f
Move WalletImpl from interfaces/wallet.cpp to wallet/interfaces.cpp
ryanofsky Nov 24, 2020
3389503
Add depends qt fix for ARM macs
jonasschnelli Nov 24, 2020
23991ad
This change to the appveyor CI config for msvc builds reverses a chan…
sipsorcery Nov 25, 2020
501fa46
Drop noop gcc version checks
hebasto Nov 25, 2020
04a5a02
qt: Add ObjectInvoke template function
hebasto Aug 14, 2020
12dcc54
qt: Call setParent() in the parent's context
hebasto Aug 14, 2020
616c96b
qt: Improve comments in WalletController::getOrCreateWallet()
hebasto May 11, 2020
4f4ea02
build: Drop unneeded ApplicationServices framework dependency
hebasto Nov 25, 2020
c0ffc12
build: Drop unneeded IOKit framework dependency
hebasto Nov 25, 2020
203a09b
Add MAX_STANDARD_SCRIPTSIG_SIZE to policy
sanket1729 Nov 25, 2020
baa7215
scripted-diff: Use [[nodiscard]] (C++17) instead of NODISCARD
practicalswift Nov 26, 2020
08b4a33
Remove NODISCARD
practicalswift Nov 26, 2020
6b05c76
sync: print proper lock order location when double lock is detected
vasild Nov 26, 2020
c992d85
sync: const-qualify the argument of double_lock_detected()
vasild Nov 26, 2020
caca107
sync: use HasReason() in double lock tests
vasild Nov 26, 2020
7df2a7d
doc: Add bash as an OpenBSD dependency
cvengler Nov 26, 2020
c39d72a
Fix and improve taproot_construct comments
sipa Oct 20, 2020
509f8cc
Mention units of MAX_STANDARD_ policy constants
sipa Oct 30, 2020
5954cf8
Add comments on CPubKey::IsValid
sipa Oct 20, 2020
3ab64ee
Mention in validation that IsWitnessStandard tests for P2TR
sipa Oct 21, 2020
4d6553f
Add comments to VerifyTaprootCommitment
sipa Oct 20, 2020
d4c9a31
Document need_vin_vout_mismatch argument to make_spender
sipa Oct 20, 2020
83f1511
Document additional IsWitnessStandard behavior
sipa Oct 21, 2020
df904d5
Clean up assets test minimizer LDFLAGS
sipa Oct 21, 2020
186dfc4
refactor: Replace deprecated Qt::SystemLocale{Short,Long}Date
hebasto Nov 26, 2020
4d739e7
Handle rename failure in DumpMempool(...) by using RenameOver(...) re…
practicalswift Nov 27, 2020
cfc8ff8
Add [[nodiscard]] to RenameOver(...)
practicalswift Nov 27, 2020
542dc4f
qt: unlock wallet "OK" button bugfix
Nov 27, 2020
72e622d
[test] Fix wait condition in disconnect_p2ps
amitiuttarwar Nov 27, 2020
9d09a07
Warn when binaries are built from a dirty branch.
Nov 28, 2020
d7e5022
build: automatically determine macOS translations
fanquake Nov 8, 2020
1edd712
macdeploy: have a single level of logging output
fanquake Nov 9, 2020
f2e721d
macdeploy: assume plistlib is available
fanquake Nov 9, 2020
7cfbb58
macdeploy: remove codesigning argument
fanquake Nov 9, 2020
3acf3c4
macdeploy: consolidate .DS_Store generation
fanquake Nov 9, 2020
c5a441b
macdeploy: remove add-resources argument
fanquake Nov 9, 2020
2cd2a62
macdeploy: use Python 3.6
fanquake Nov 13, 2020
b05d7f5
macdeploy: remove runHDIUtil in favor of directly calling subprocess.run
fanquake Nov 11, 2020
827199d
macdeploy: remove existing Bitcoin-Core.dmg if present
fanquake Nov 11, 2020
2197dfd
macdeploy: move qt_conf to where it's used
fanquake Nov 9, 2020
5b49671
build: mac_alias 2.1.1
fanquake Nov 30, 2020
7559b5b
doc: rename CODEOWNERS to REVIEWERS
adamjonas Oct 20, 2020
c69b382
test: Fix intermittent feature_taproot issue
Nov 30, 2020
663a36c
test: Fix wallet_multiwallet issue on windows
Dec 1, 2020
8faf280
lint: Use c++17 std in cppcheck linter
fjahr Nov 29, 2020
21ff909
refactor: Improve use of explicit keyword
fjahr Nov 29, 2020
51da199
ci: no-longer exclude feature_block in TSAN job
fanquake Dec 2, 2020
dbcde90
ci: Adjust cirrus ci task names
Dec 2, 2020
a3295ed
Adjusted msvc compiler and linker settings to remove optimisations th…
sipsorcery Dec 2, 2020
edc67e7
depends: Do not force Precompiled Headers (PCH) for building Qt on Linux
hebasto Nov 27, 2020
0f49941
Fix bug
janus Dec 13, 2020
54f48ff
Sync changes and fix hash usage to get BGLd build and sync
Jan 25, 2021
98d0571
Merge pull request #3 from wu-emma/sync_fixes
janus Jan 27, 2021
da34e48
Update missing conflict
janus Jan 26, 2021
f9897f5
Add up qt-gui code
janus Feb 1, 2021
e601d44
Fix errors
janus Feb 8, 2021
1da4a3a
Compile tests
janus Feb 15, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
82 changes: 29 additions & 53 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,86 +5,62 @@ configuration: Release
platform: x64
clone_depth: 5
environment:
APPVEYOR_SAVE_CACHE_ON_ERROR: true
CLCACHE_SERVER: 1
PATH: 'C:\Python37-x64;C:\Python37-x64\Scripts;%PATH%'
PYTHONUTF8: 1
QT_DOWNLOAD_URL: 'https://github.com/sipsorcery/qt_win_binary/releases/download/v1.6/Qt5.9.8_x64_static_vs2019.zip'
QT_DOWNLOAD_HASH: '9a8c6eb20967873785057fdcd329a657c7f922b0af08c5fde105cc597dd37e21'
QT_DOWNLOAD_URL: 'https://github.com/sipsorcery/qt_win_binary/releases/download/qt598x64_vs2019_v1681/qt598_x64_vs2019_1681.zip'
QT_DOWNLOAD_HASH: '00cf7327818c07d74e0b1a4464ffe987c2728b00d49d4bf333065892af0515c3'
QT_LOCAL_PATH: 'C:\Qt5.9.8_x64_static_vs2019'
VCPKG_INSTALL_PATH: 'C:\tools\vcpkg\installed'
cache:
- C:\tools\vcpkg\installed -> build_msvc\vcpkg-packages.txt
- C:\Users\appveyor\clcache -> .appveyor.yml, build_msvc\**, **\Makefile.am, **\*.vcxproj.in
- C:\Qt5.9.8_x64_static_vs2019
VCPKG_TAG: '2020.11-1'
install:
- cmd: pip install --quiet git+https://github.com/frerich/clcache.git@v4.2.0
# Disable zmq test for now since python zmq library on Windows would cause Access violation sometimes.
# - cmd: pip install zmq
# Powershell block below is to install the c++ dependencies via vcpkg. The pseudo code is:
# 1. Check whether the vcpkg install directory exists (note that updating the vcpkg-packages.txt file
# will cause the appveyor cache rules to invalidate the directory)
# 2. If the directory is missing:
# a. Update the vcpkg source (including port files) and build the vcpkg binary,
# b. Install the missing packages.
# The powershell block below is to set up vcpkg to install the c++ dependencies. The pseudo code is:
# a. Checkout the vcpkg source (including port files) for the specific checkout and build the vcpkg binary,
# b. Append a setting to the vcpkg cmake config file to only do release builds of dependencies (skipping deubg builds saves ~5 mins).
# Note originally this block also installed the dependencies using 'vcpkg install'. Dependencies are now installed
# as part of the msbuild command using vcpkg mainfests.
- ps: |
$env:PACKAGES = Get-Content -Path build_msvc\vcpkg-packages.txt
Write-Host "vcpkg list: $env:PACKAGES"
if(!(Test-Path -Path ($env:VCPKG_INSTALL_PATH))) {
cd c:\tools\vcpkg
$env:GIT_REDIRECT_STDERR = '2>&1' # git is writing non-errors to STDERR when doing git pull. Send to STDOUT instead.
git pull origin master
.\bootstrap-vcpkg.bat
Add-Content "C:\tools\vcpkg\triplets\$env:PLATFORM-windows-static.cmake" "set(VCPKG_BUILD_TYPE release)"
.\vcpkg install --triplet $env:PLATFORM-windows-static $env:PACKAGES.split() > $null
cd "$env:APPVEYOR_BUILD_FOLDER"
}
else {
Write-Host "required vcpkg packages already installed."
}
c:\tools\vcpkg\vcpkg integrate install
cd c:\tools\vcpkg
$env:GIT_REDIRECT_STDERR = '2>&1' # git is writing non-errors to STDERR when doing git pull. Send to STDOUT instead.
git -c advice.detachedHead=false checkout $env:VCPKG_TAG
git pull origin $env:VCPKG_TAG
.\bootstrap-vcpkg.bat > $null
Add-Content "C:\tools\vcpkg\triplets\$env:PLATFORM-windows-static.cmake" "set(VCPKG_BUILD_TYPE release)"
cd "$env:APPVEYOR_BUILD_FOLDER"
before_build:
- ps: clcache -M 536870912
# Powershell block below is to download and extract the Qt static libraries. The pseudo code is:
# 1. If the Qt destination directory exists assume it is correct and do nothing. To
# force a fresh install of the packages delete the job's appveyor cache.
# 2. Otherwise:
# a. Download the zip file with the prebuilt Qt static libraries.
# b. Check that the downloaded file matches the expected hash.
# c. Extract the zip file to the specific destination path expected by the msbuild projects.
- ps: |
if(!(Test-Path -Path ($env:QT_LOCAL_PATH))) {
Write-Host "Downloading Qt binaries.";
Invoke-WebRequest -Uri $env:QT_DOWNLOAD_URL -Out qtdownload.zip;
Write-Host "Qt binaries successfully downloaded, checking hash against $env:QT_DOWNLOAD_HASH...";
if((Get-FileHash qtdownload.zip).Hash -eq $env:QT_DOWNLOAD_HASH) {
Expand-Archive qtdownload.zip -DestinationPath $env:QT_LOCAL_PATH;
Write-Host "Qt binary download matched the expected hash.";
}
else {
Write-Host "ERROR: Qt binary download did not match the expected hash.";
Exit-AppveyorBuild;
}
Write-Host "Downloading Qt binaries.";
Invoke-WebRequest -Uri $env:QT_DOWNLOAD_URL -Out qtdownload.zip;
Write-Host "Qt binaries successfully downloaded, checking hash against $env:QT_DOWNLOAD_HASH...";
if((Get-FileHash qtdownload.zip).Hash -eq $env:QT_DOWNLOAD_HASH) {
Expand-Archive qtdownload.zip -DestinationPath $env:QT_LOCAL_PATH;
Write-Host "Qt binary download matched the expected hash.";
}
else {
Write-Host "Qt binaries already present.";
Write-Host "ERROR: Qt binary download did not match the expected hash.";
Exit-AppveyorBuild;
}
- cmd: python build_msvc\msvc-autogen.py
- ps: Start-Process clcache-server
- ps: fsutil behavior set disablelastaccess 0 # Enable Access time feature on Windows (for clcache)
build_script:
- cmd: msbuild /p:TrackFileAccess=false /p:CLToolExe=clcache.exe build_msvc\BGL.sln /m /v:q /nologo
after_build:
- ps: fsutil behavior set disablelastaccess 1 # Disable Access time feature on Windows (better performance)
- ps: clcache -z
#- 7z a BGL-%APPVEYOR_BUILD_VERSION%.zip %APPVEYOR_BUILD_FOLDER%\build_msvc\%platform%\%configuration%\*.exe
test_script:
- cmd: src\test_BGL.exe -k stdout -e stdout 2> NUL
- cmd: src\bench_BGL.exe -evals=1 -scaling=0 > NUL
- cmd: src\test_BGL.exe -l test_suite
- cmd: src\bench_BGL.exe > NUL
- ps: python test\util\BGL-util-test.py
- cmd: python test\util\rpcauth-test.py
# Fee estimation test failing on appveyor with: WinError 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted.
- cmd: python test\functional\test_runner.py --ci --quiet --combinedlogslen=4000 --failfast --exclude feature_fee_estimation
# functional tests disabled for now. See
# https://github.com/BGL/BGL/pull/18626#issuecomment-613396202
# https://github.com/BGL/BGL/issues/18623
# - cmd: python test\functional\test_runner.py --ci --quiet --combinedlogslen=4000 --failfast --exclude feature_fee_estimation
artifacts:
#- path: BGL-%APPVEYOR_BUILD_VERSION%.zip
deploy: off
202 changes: 155 additions & 47 deletions .cirrus.yml
Original file line number Diff line number Diff line change
@@ -1,53 +1,161 @@
task:
name: "FreeBsd 12.0 amd64 [GOAL: install] [no depends, only system libs]"
freebsd_instance:
image: freebsd-12-0-release-amd64
cpu: 8
memory: 8G
timeout_in: 60m
env:
MAKEJOBS: "-j9"
CONFIGURE_OPTS: "--disable-dependency-tracking"
GOAL: "install"
TEST_RUNNER_PORT_MIN: "14000" # Must be larger than 12321, which is used for the http cache. See https://cirrus-ci.org/guide/writing-tasks/#http-cache
CCACHE_SIZE: "200M"
CCACHE_COMPRESS: 1
CCACHE_DIR: "/tmp/ccache_dir"
ccache_cache:
folder: "/tmp/ccache_dir"
install_script:
- pkg install -y autoconf automake boost-libs git gmake libevent libtool pkgconf python3 ccache
- ./contrib/install_db4.sh $(pwd)
- ccache --max-size=${CCACHE_SIZE}
configure_script:
- ./autogen.sh
- ./configure ${CONFIGURE_OPTS} BDB_LIBS="-L$(pwd)/db4/lib -ldb_cxx-4.8" BDB_CFLAGS="-I$(pwd)/db4/include" || ( cat config.log && false)
make_script:
- gmake ${MAKEJOBS} ${GOAL} || ( echo "Build failure. Verbose build follows." && gmake ${GOAL} V=1 ; false )
check_script:
- gmake check ${MAKEJOBS} VERBOSE=1
functional_test_script:
- ./test/functional/test_runner.py --jobs 9 --ci --extended --exclude feature_dbcrash --combinedlogslen=1000 --quiet --failfast
task:
name: "x86_64 Linux [GOAL: install] [bionic] [Using ./ci/ system]"
container:
image: ubuntu:18.04
cpu: 8
memory: 8G
timeout_in: 60m
env:
MAKEJOBS: "-j9"
RUN_CI_ON_HOST: "1"
TEST_RUNNER_PORT_MIN: "14000" # Must be larger than 12321, which is used for the http cache. See https://cirrus-ci.org/guide/writing-tasks/#http-cache
CCACHE_SIZE: "200M"
CCACHE_DIR: "/tmp/ccache_dir"
### Global defaults

timeout_in: 120m # https://cirrus-ci.org/faq/#instance-timed-out
container:
# https://cirrus-ci.org/faq/#are-there-any-limits
# Each project has 16 CPU in total, assign 2 to each container, so that 8 tasks run in parallel
cpu: 2
memory: 8G # Set to 8GB to avoid OOM. https://cirrus-ci.org/guide/linux/#linux-containers
kvm: true # Use kvm to avoid spurious CI failures in the default virtualization cluster, see https://github.com/bitcoin/bitcoin/issues/20093
env:
PACKAGE_MANAGER_INSTALL: "apt-get update && apt-get install -y"
MAKEJOBS: "-j4"
DANGER_RUN_CI_ON_HOST: "1" # Containers will be discarded after the run, so there is no risk that the ci scripts modify the system
TEST_RUNNER_PORT_MIN: "14000" # Must be larger than 12321, which is used for the http cache. See https://cirrus-ci.org/guide/writing-tasks/#http-cache
CCACHE_SIZE: "200M"
CCACHE_DIR: "/tmp/ccache_dir"

### Global task template

# https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks
global_task_template: &GLOBAL_TASK_TEMPLATE
skip: $CIRRUS_REPO_FULL_NAME == "bitcoin-core/gui" && $CIRRUS_PR == "" # No need to run on the read-only mirror, unless it is a PR. https://cirrus-ci.org/guide/writing-tasks/#conditional-task-execution
ccache_cache:
folder: "/tmp/ccache_dir"
depends_built_cache:
folder: "/tmp/cirrus-ci-build/depends/built"
install_script:
- apt-get update
- apt-get -y install git bash ccache
- ccache --max-size=${CCACHE_SIZE}
depends_sdk_cache:
folder: "/tmp/cirrus-ci-build/depends/sdk-sources"
depends_releases_cache:
folder: "/tmp/cirrus-ci-build/releases"
merge_base_script:
- if [ "$CIRRUS_PR" = "" ]; then exit 0; fi
- bash -c "$PACKAGE_MANAGER_INSTALL git"
- git fetch $CIRRUS_REPO_CLONE_URL $CIRRUS_BASE_BRANCH
- git config --global user.email "ci@ci.ci"
- git config --global user.name "ci"
- git merge FETCH_HEAD # Merge base to detect silent merge conflicts
ci_script:
- ./ci/test_run_all.sh

#task:
# name: "Windows"
# windows_container:
# image: cirrusci/windowsservercore:2019
# env:
# CIRRUS_SHELL: powershell
# PATH: 'C:\Python37;C:\Python37\Scripts;%PATH%'
# PYTHONUTF8: 1
# QT_DOWNLOAD_URL: 'https://github.com/sipsorcery/qt_win_binary/releases/download/v1.6/Qt5.9.8_x64_static_vs2019.zip'
# QT_DOWNLOAD_HASH: '9a8c6eb20967873785057fdcd329a657c7f922b0af08c5fde105cc597dd37e21'
# QT_LOCAL_PATH: 'C:\Qt5.9.8_x64_static_vs2019'
# VCPKG_INSTALL_PATH: 'C:\tools\vcpkg\installed'
# VCPKG_COMMIT_ID: 'ed0df8ecc4ed7e755ea03e18aaf285fd9b4b4a74'
# install_script:
# - choco install python --version=3.7.7 -y

task:
name: 'ARM [unit tests, no functional tests] [buster]'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: debian:buster
env:
FILE_ENV: "./ci/test/00_setup_env_arm.sh"

task:
name: 'Win64 [unit tests, no gui tests, no boost::process, no functional tests] [bionic]'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:bionic
env:
FILE_ENV: "./ci/test/00_setup_env_win64.sh"

task:
name: '32-bit + dash [gui] [CentOS 8]'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: centos:8
env:
PACKAGE_MANAGER_INSTALL: "yum install -y"
FILE_ENV: "./ci/test/00_setup_env_i686_centos.sh"

task:
name: '[previous releases, uses qt5 dev package and some depends packages] [unsigned char] [bionic]'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:bionic
env:
FILE_ENV: "./ci/test/00_setup_env_native_qt5.sh"

task:
name: '[depends, sanitizers: thread (TSan), no gui] [focal]'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:focal
cpu: 4 # Double CPU and increase Memory to avoid timeout
memory: 24G
env:
MAKEJOBS: "-j8"
FILE_ENV: "./ci/test/00_setup_env_native_tsan.sh"

task:
name: '[depends, sanitizers: memory (MSan)] [focal]'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:focal
env:
FILE_ENV: "./ci/test/00_setup_env_native_msan.sh"

task:
name: '[no depends, only system libs, sanitizers: address/leak (ASan + LSan) + undefined (UBSan) + integer] [focal]'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:focal
env:
FILE_ENV: "./ci/test/00_setup_env_native_asan.sh"

task:
name: '[no depends, only system libs, sanitizers: fuzzer,address,undefined] [focal]'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:focal
env:
FILE_ENV: "./ci/test/00_setup_env_native_fuzz.sh"

task:
name: '[multiprocess] [focal]'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:focal
env:
FILE_ENV: "./ci/test/00_setup_env_native_multiprocess.sh"

task:
name: '[no wallet] [bionic]'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:bionic
env:
FILE_ENV: "./ci/test/00_setup_env_native_nowallet.sh"

task:
name: 'macOS 10.14 [gui, no tests] [bionic]'
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:bionic
env:
FILE_ENV: "./ci/test/00_setup_env_mac.sh"

task:
name: 'macOS 10.15 native [gui] [no depends]'
macos_brew_addon_script:
- brew install boost libevent berkeley-db4 qt miniupnpc ccache zeromq qrencode sqlite libtool automake pkg-config gnu-getopt
<< : *GLOBAL_TASK_TEMPLATE
osx_instance:
# Use latest image, but hardcode version to avoid silent upgrades (and breaks)
image: catalina-xcode-12.1 # https://cirrus-ci.org/guide/macOS
env:
DANGER_RUN_CI_ON_HOST: "true"
CI_USE_APT_INSTALL: "no"
PACKAGE_MANAGER_INSTALL: "echo" # Nothing to do
FILE_ENV: "./ci/test/00_setup_env_mac_host.sh"
16 changes: 16 additions & 0 deletions .fuzzbuzz.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
base: ubuntu:16.04
language: c++
engine: libFuzzer
environment:
- CXXFLAGS=-fcoverage-mapping -fno-omit-frame-pointer -fprofile-instr-generate -gline-tables-only -O1
setup:
- sudo apt-get update
- sudo apt-get install -y autoconf bsdmainutils clang git libboost-all-dev libboost-program-options-dev libc++1 libc++abi1 libc++abi-dev libc++-dev libclang1 libclang-dev libdb5.3++ libevent-dev libllvm-ocaml-dev libomp5 libomp-dev libprotobuf-dev libqt5core5a libqt5dbus5 libqt5gui5 libssl-dev libtool llvm llvm-dev llvm-runtime pkg-config protobuf-compiler qttools5-dev qttools5-dev-tools software-properties-common
- ./autogen.sh
- CC=clang CXX=clang++ ./configure --enable-fuzz --with-sanitizers=address,fuzzer,undefined
- make
- git clone https://github.com/bitcoin-core/qa-assets
auto_targets:
find_targets_command: find src/test/fuzz/ -executable -type f ! -name "*.cpp" ! -name "*.h"
base_corpus_dir: qa-assets/fuzz_seed_corpus/
memory_limit: none
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/gui_issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
name: An issue or feature request related to the GUI
about: Any report, issue or feature request related to the GUI should be reported at https://github.com/bitcoin-core/gui/issues/
title: Any report, issue or feature request related to the GUI should be reported at https://github.com/bitcoin-core/gui/issues/
labels: GUI
assignees: ''

---

Any report, issue or feature request related to the GUI should be reported at
https://github.com/bitcoin-core/gui/issues/
9 changes: 7 additions & 2 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
### Description
what is the goal of the pull request

### Items done
item list of changes or additions
Pull requests without a rationale and clear improvement may be closed
immediately.

GUI-related pull requests should be opened against
https://github.com/BGL-core/gui
first. See CONTRIBUTING.md
-->

### Notes
implementation details, hints for reviewers
Expand Down
Loading