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

2023 05 tx compression #3

Closed
wants to merge 1,825 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1825 commits
Select commit Hold shift + click to select a range
e9beaa7
Merge bitcoin/bitcoin#28913: coins: make sure PoolAllocator uses the …
fanquake Nov 22, 2023
3dca308
Merge bitcoin/bitcoin#28891: test: fix `AddNode` unit test failure on…
fanquake Nov 22, 2023
ca041fc
Merge bitcoin/bitcoin#28904: Drop CAutoFile
fanquake Nov 22, 2023
4374a87
Merge bitcoin/bitcoin#28895: p2p: do not make automatic outbound conn…
fanquake Nov 22, 2023
a238356
Merge bitcoin/bitcoin#28907: depends: bump libmultiprocess to fix cap…
fanquake Nov 22, 2023
172cd92
Merge bitcoin/bitcoin#28862: lint: Report all lint errors instead of …
fanquake Nov 22, 2023
5d13b95
Merge bitcoin/bitcoin#28461: build: Windows SSP roundup
fanquake Nov 22, 2023
ddc4b98
Merge bitcoin/bitcoin#28919: build: Fix regression in "ARMv8 CRC32 in…
fanquake Nov 22, 2023
fa79a88
refactor: P2P transport without serialize version and type
Nov 16, 2023
b4306e3
refactor: rename FirstKeyTimeChanged to MaybeUpdateBirthTime
furszy Nov 20, 2023
75fbf44
wallet: birth time update during tx scanning
furszy Nov 20, 2023
fa20f89
test: Add gettransaction test for "coin-join" tx
May 8, 2020
fa6b87b
fuzz: CDataStream -> DataStream in script_flags
Nov 23, 2023
fa71285
fuzz: Limit fuzz buffer size in script_flags target
Nov 23, 2023
faf1fb2
Fix IWYU for the script_flags fuzz target
Nov 23, 2023
f4073c5
Merge bitcoin/bitcoin#28578: fuzz: add target for `DescriptorScriptPu…
fanquake Nov 23, 2023
930bcfd
Merge bitcoin/bitcoin#18919: test: Add gettransaction test for "coin-…
fanquake Nov 23, 2023
0ffcc5b
ci: remove python3-setuptools from mac build deps
fanquake Nov 15, 2023
fa971c0
Export assert from util/check.h
Nov 24, 2023
c0196be
Merge bitcoin/bitcoin#28932: ci: remove `python3-setuptools` from mac…
fanquake Nov 24, 2023
b5a2713
Merge bitcoin/bitcoin#28922: Use Txid in COutpoint
fanquake Nov 24, 2023
4335e55
ci: Run vcpkg with path prefix
hebasto Nov 24, 2023
1a889f7
ci: Set MSVC toolset version explicitly
hebasto Nov 24, 2023
70100f8
Revert "ci: Avoid toolset ambiguity that MSVC can't handle"
hebasto Nov 24, 2023
ecb4683
Change petertodd seeds to petertodd.net
petertodd Nov 25, 2023
2d2ef2f
msvc: No need to specify the default feature for `libevent` package
hebasto Nov 25, 2023
1f97e51
msvc: Update vcpkg manifest baseline up to "2023.08.09 Release"
hebasto Nov 25, 2023
6d05c4f
msvc: Specify `boost-date-time` package explicitly
hebasto Nov 25, 2023
5f9fd11
Merge bitcoin/bitcoin#28931: fuzz: Limit fuzz buffer size in script_f…
fanquake Nov 26, 2023
fa15861
fuzz: Faster wallet_notifications target
Nov 24, 2023
794f971
Merge bitcoin/bitcoin#28933: fuzz: Faster wallet_notifications target
fanquake Nov 27, 2023
e67634e
fuzz: BIP324: damage ciphertext/aad in full byte range
theStack Nov 28, 2023
fa82597
fuzz: Avoid timeout in process_messages
Nov 28, 2023
c1b7332
Merge bitcoin/bitcoin#28934: ci: Set MSVC toolset version explicitly
fanquake Nov 28, 2023
dc369af
Merge bitcoin/bitcoin#28936: Change petertodd seeds to petertodd.net
fanquake Nov 28, 2023
c252a0f
Merge bitcoin/bitcoin#28892: refactor: P2P transport without serializ…
fanquake Nov 28, 2023
fac39b5
refactor: SpanReader without nVersion
Nov 17, 2023
fae76a1
scripted-diff: Use DataStream in most places
Nov 19, 2023
fafcee4
ci: Rename test script to 03_test_script.sh
Nov 28, 2023
26b7bcf
Merge bitcoin/bitcoin#28766: Improve peformance of CTransaction::HasW…
achow101 Nov 28, 2023
31ce305
Merge bitcoin/bitcoin#28952: fuzz: Avoid timeout in process_messages
fanquake Nov 28, 2023
fa02c08
refactor: Use Txid in CMerkleBlock
Nov 28, 2023
a4980da
guix: remove input labels
fanquake Jun 22, 2023
fe4e83f
Merge bitcoin/bitcoin#28912: refactor: VectorWriter and SpanReader wi…
fanquake Nov 28, 2023
fd4c6a1
test: Setup networking globally
hebasto Nov 28, 2023
30a0557
Merge bitcoin/bitcoin#28805: test: Make existing functional tests com…
achow101 Nov 28, 2023
535424a
Merge bitcoin/bitcoin#28903: refactor: Make CTxMemPoolEntry only expl…
achow101 Nov 28, 2023
75462b3
Merge bitcoin/bitcoin#28554: bugfix: throw an error if an invalid par…
achow101 Nov 28, 2023
16b5b4b
Merge bitcoin/bitcoin#28579: refactor: Remove redundant checks in com…
achow101 Nov 28, 2023
fa9dc92
test: Add missing CBlockPolicyEstimator::processBlockTx suppression
Nov 29, 2023
453c9ca
Merge bitcoin/bitcoin#28966: test: Add missing CBlockPolicyEstimator:…
fanquake Nov 29, 2023
8cf2137
Merge bitcoin/bitcoin#28958: refactor: Use Txid in CMerkleBlock
fanquake Nov 29, 2023
fad82fe
ci: Reduce use of bash -c
Nov 28, 2023
faecde9
fuzz: Fix nullptr deref in scriptpubkeyman
Nov 29, 2023
fab164f
fuzz: Avoid signed-integer-overflow in wallet_notifications fuzz target
Nov 29, 2023
d00d50e
Merge bitcoin/bitcoin#28968: fuzz: Fix nullptr deref in scriptpubkeyman
fanquake Nov 29, 2023
dd73c22
Merge bitcoin/bitcoin#28486: test, bench: Initialize and terminate us…
fanquake Nov 29, 2023
7bc8c53
Merge bitcoin/bitcoin#28969: fuzz: Avoid signed-integer-overflow in w…
fanquake Nov 29, 2023
b67db52
RPC submitpackage: change return format to allow partial errors
instagibbs Nov 10, 2023
e67a345
doc: submitpackage vsize results are sigops-adjusted
instagibbs Nov 29, 2023
f23ba24
test_submitpackage: only make a chain of 3 txns
instagibbs Nov 29, 2023
66c4b58
guix: switch from guix environment to guix shell
fanquake Sep 13, 2022
fa7eb4f
fuzz: Drop unused version from fuzz input format
Nov 28, 2023
fae00fe
Remove unused CDataStream
Sep 11, 2023
fa0ae22
Remove unused SER_NETWORK, SER_DISK
Sep 12, 2023
fa4fbd5
Remove unused version.h include
Nov 28, 2023
fa98a09
Rename version.h to node/protocol_version.h
Nov 28, 2023
c4d47d2
Merge bitcoin/bitcoin#26077: guix: switch from `guix environment` to …
fanquake Nov 30, 2023
d80318d
Merge bitcoin/bitcoin#28954: ci: Reduce use of bash -c
fanquake Nov 30, 2023
05d3f8e
Merge bitcoin/bitcoin#28951: fuzz: BIP324: damage ciphertext/aad in f…
fanquake Nov 30, 2023
c7f0e97
Merge bitcoin/bitcoin#28938: msvc: Update vcpkg manifest
fanquake Nov 30, 2023
cdb7723
Merge bitcoin/bitcoin#28965: guix: remove input labels
fanquake Nov 30, 2023
97d53e9
ci: remove libz-dev from macOS build deps
fanquake Nov 30, 2023
ffb0216
Merge bitcoin/bitcoin#28451: refactor: Remove unused SER_DISK, SER_NE…
ryanofsky Nov 30, 2023
ff896d2
contrib: drop GCC MAX_VERSION to 4.3.0 in symbol-check
fanquake Nov 10, 2023
498994b
Merge bitcoin/bitcoin#26762: bugfix: Make `CCheckQueue` RAII-styled (…
achow101 Nov 30, 2023
3553731
ci: remove --enable-external-signer from win64 job
fanquake Nov 29, 2023
308aec3
build: disable external-signer for Windows
fanquake Nov 29, 2023
6b3927f
Merge bitcoin/bitcoin#28848: bugfix, Change up submitpackage results …
achow101 Dec 1, 2023
18bed14
Merge bitcoin/bitcoin#28784: rpc: keep `.cookie` file if it was not g…
achow101 Dec 1, 2023
a97a892
Merge bitcoin/bitcoin#28368: Fee Estimator updates from Validation In…
achow101 Dec 1, 2023
5aa37ca
Merge bitcoin/bitcoin#28973: ci: remove `libz-dev` from macOS build deps
fanquake Dec 1, 2023
160d236
Merge bitcoin/bitcoin#28851: build: Patch Qt to handle minimum macOS …
fanquake Dec 1, 2023
3ea54e5
net: Add continuous ASMap health check logging
fjahr May 5, 2023
55e3dc3
test: Fix test by checking the actual exception instance
hebasto Dec 3, 2023
fa83b65
ci: Use Ubuntu 24.04 Noble for tsan,tidy,fuzz
Dec 4, 2023
fad2392
ci: Use Ubuntu 24.04 Noble for asan
Dec 4, 2023
8f6ab31
init: don't delete PID file if it was not generated
willcl-ark Nov 27, 2023
90389c9
depends: Build `capnp` package with CMake
hebasto Dec 4, 2023
11d797e
depends: Build `native_capnp` package with CMake
hebasto Nov 13, 2023
263b23f
refactor: Remove call to ShutdownRequested from chainstate init
ryanofsky Jul 7, 2023
f0c73c1
refactor: Remove call to ShutdownRequested from rpc/mining
ryanofsky Jul 7, 2023
f4a8bd6
refactor: Remove call to StartShutdown from qt
ryanofsky Jul 7, 2023
73133c3
refactor: Add NodeContext::shutdown member
ryanofsky Jul 7, 2023
42e5829
refactor: Remove call to ShutdownRequested from HTTPRequest
ryanofsky Jul 7, 2023
ba93966
refactor: Remove call to ShutdownRequested from IndexWaitSynced
ryanofsky Jul 7, 2023
1d92d89
util: Get rid of uncaught exceptions thrown by SignalInterrupt class
ryanofsky Jul 7, 2023
6824eec
refactor: Remove call to StartShutdown from stop RPC
ryanofsky Jul 7, 2023
feeb7b8
refactor: Remove calls to StartShutdown from KernelNotifications
ryanofsky Jul 7, 2023
213542b
refactor: Add InitContext function to initialize NodeContext with glo…
ryanofsky Jul 7, 2023
afdc4c3
Merge bitcoin/bitcoin#28946: init: don't delete PID file if it was no…
achow101 Dec 4, 2023
6db04be
Get rid of shutdown.cpp/shutdown.h, use SignalInterrupt directly
ryanofsky Jul 7, 2023
38816ff
fuzz: txorphan check wtxids using GenTxid::Wtxid not GenTxid::Txid
instagibbs Dec 4, 2023
c2b836b
bitcoin-tx: Make replaceable value optional
kashifs Dec 4, 2023
1c8893b
Merge bitcoin/bitcoin#28852: script, assumeutxo: Enhance validations …
ryanofsky Dec 4, 2023
423949a
depends: add -platform_version to macOS build flags
fanquake Nov 15, 2023
51c97ff
build: patch boost process for macOS 14 SDK
fanquake Dec 5, 2023
8ea45e6
build: use macOS 14 SDK (Xcode 15.0)
fanquake Oct 9, 2023
b3ab0c3
Merge bitcoin/bitcoin#28997: fuzz: txorphan check wtxids using GenTxi…
fanquake Dec 5, 2023
6d57909
Merge bitcoin/bitcoin#28856: depends: Build the `native_capnp` and `c…
fanquake Dec 5, 2023
fa8adbe
build: Enable -Wunreachable-code
Dec 5, 2023
494a926
rpc: fix getrawtransaction segfault
mzumsande Dec 5, 2023
ca09415
rpc, doc: encryptwallet, mention HD seed rotation and new backup
furszy Dec 1, 2023
6f49737
wallet: fix legacy spkm default birth time
furszy Nov 28, 2023
83c6644
test: coverage for wallet birth time interaction with -reindex
furszy Nov 20, 2023
1ce45ba
rpc: getwalletinfo, return wallet 'birthtime'
furszy Nov 22, 2023
9075a44
test: add regression test for the getrawtransaction segfault
mzumsande Dec 5, 2023
00e0658
test: fix v2 transport intermittent test failure (#29002)
theStack Dec 5, 2023
fae1e7e
fuzz: p2p: Detect peer deadlocks
Dec 6, 2023
d854914
Merge bitcoin/bitcoin#28992: ci: Use Ubuntu 24.04 Noble for asan,tsan…
fanquake Dec 6, 2023
dde7ac5
Merge bitcoin/bitcoin#29003: rpc: fix getrawtransaction segfault
fanquake Dec 6, 2023
fad1903
fuzz: Avoid timeout in bitdeque
Dec 6, 2023
9693cfa
Merge bitcoin/bitcoin#28989: test: Fix test by checking the actual ex…
achow101 Dec 6, 2023
25d23e6
Merge bitcoin/bitcoin#28980: rpc: encryptwallet help, mention HD seed…
achow101 Dec 6, 2023
9f265d8
fuzz: Detect deadlocks in process_message
dergoegge Dec 6, 2023
c46cc8d
Merge bitcoin/bitcoin#27581: net: Continuous ASMap health check
achow101 Dec 6, 2023
2e8ec6b
Merge bitcoin/bitcoin#29012: fuzz: Avoid timeout in bitdeque
fanquake Dec 6, 2023
97c0dfa
test: Extends MEMPOOL msg functional test
sr-gi Sep 14, 2023
dce1dfb
Merge bitcoin/bitcoin#28622: build: use macOS 14 SDK (Xcode 15.0)
fanquake Dec 7, 2023
fa67f09
build: Require C++20 compiler
Aug 27, 2023
fa02fc0
refactor: modernize-use-default-member-init for bit-fields (C++20)
Oct 31, 2023
fae3b77
refactor: Drop unused _Pragma to ignore -Wgnu-zero-variadic-macro-arg…
Aug 27, 2023
faa4838
Revert "tracepoints: Disables `-Wgnu-zero-variadic-macro-arguments` t…
Aug 27, 2023
fa6e50d
fuzz: Use C++20 starts_with in rpc.cpp
Oct 3, 2023
fa604eb
refactor: Use reference instead of pointer in IsBlockPruned
Dec 7, 2023
fa5989d
refactor: rpc: Pass CBlockIndex by reference instead of pointer
Dec 7, 2023
8df4aaa
doc: add minimum required Linux Kernel to release-notes
fanquake Dec 7, 2023
7d4e47d
doc: add historical release notes for 26.0
fanquake Dec 7, 2023
fa88953
doc: Add link to needs-release-notes label
Dec 7, 2023
ca59375
doc: Missing additions to 26.0 release notes
fanquake Dec 7, 2023
fcdb39d
Merge bitcoin/bitcoin#28924: refactor: Remove unused and fragile stri…
fanquake Dec 7, 2023
1d9da8d
Merge bitcoin/bitcoin#29023: doc: add historical release notes for 26.0
achow101 Dec 7, 2023
5cea25b
wallet: skip BnB when SFFO is active
murchandamus Oct 6, 2023
0c57557
wallet: create tx, log resulting coin selection info
furszy Sep 29, 2023
e1281f1
wallet: fix key parsing check for miniscript expressions in `ParseScr…
brunoerg Dec 8, 2023
14d1732
Merge bitcoin/bitcoin#29025: doc: Add link to needs-release-notes label
fanquake Dec 8, 2023
a7f4f1a
Merge bitcoin/bitcoin#28894: wallet: batch all individual spkms setup…
fanquake Dec 8, 2023
1f352cf
Merge bitcoin/bitcoin#28485: test: Extends MEMPOOL msg functional test
fanquake Dec 8, 2023
03042fb
Merge bitcoin/bitcoin#29006: test: fix v2 transport intermittent test…
fanquake Dec 8, 2023
3e69125
Merge bitcoin/bitcoin#28349: build: Require C++20 compiler
fanquake Dec 8, 2023
15f5a0d
fuzz: Improve fuzzing stability for txorphan harness
dergoegge Dec 8, 2023
fd0bde2
test: fix `addnode` functional test failure on OpenBSD
theStack Dec 8, 2023
e1abfb5
wallet: Introduce and use PreselectedInput class in CCoinControl
achow101 May 31, 2022
5321786
coincontrol: Replace HasInputWeight with returning optional from Get
achow101 Jan 23, 2023
596642c
wallet: Replace SelectExternal with SetTxOut
achow101 Jun 20, 2022
4d335bb
wallet: Set preset input sequence through coin control
achow101 Jun 1, 2022
0fefcbb
wallet: Explicitly preserve transaction locktime in CreateTransaction
achow101 Jun 1, 2022
14e5074
wallet: Explicitly preserve transaction version in CreateTransaction
achow101 Jun 1, 2022
2d39db7
wallet: Explicitly preserve scriptSig and scriptWitness in CreateTran…
achow101 Jun 1, 2022
758501b
wallet: use optional for change position as an optional in CreateTran…
achow101 Jun 1, 2022
0295b44
wallet: return CreatedTransactionResult from FundTransaction
achow101 Jun 1, 2022
94feaf2
tests: Add unit tests for bitcoin-tx replaceable command
kashifs Dec 7, 2023
ea00f98
test: fix intermittent error in rpc_net.py (#29030)
theStack Dec 9, 2023
6e0f1d2
msvc: Optimize "Release" builds
hebasto Sep 21, 2023
1553c80
Add multiplication operator to CFeeRate
murchandamus Dec 8, 2023
1a5dae6
msvc: Define the same `QT_...` macros as in Autotools builds
hebasto Dec 9, 2023
d08e820
Add a note to msvc readme re building Qt for Bitcoin Core.
sipsorcery Dec 10, 2023
84bbee7
Merge bitcoin/bitcoin#29048: Add a note to msvc readme re building Qt…
fanquake Dec 11, 2023
41e378a
Merge bitcoin/bitcoin#29045: msvc: Optimize "Release" builds
fanquake Dec 11, 2023
09ab9d4
Merge bitcoin/bitcoin#29035: test: fix `addnode` functional test fail…
fanquake Dec 11, 2023
36fabb0
Merge bitcoin/bitcoin#29041: test: fix intermittent error in rpc_net.…
fanquake Dec 11, 2023
ba5f16e
Merge bitcoin/bitcoin#29044: msvc: Define the same `QT_...` macros as…
fanquake Dec 11, 2023
40bc501
Merge bitcoin/bitcoin#29031: fuzz: Improve fuzzing stability for txor…
fanquake Dec 11, 2023
255004f
Merge bitcoin/bitcoin#29009: fuzz: p2p: Detect peer deadlocks
fanquake Dec 11, 2023
dabd704
Merge bitcoin/bitcoin#25273: wallet: Pass through transaction locktim…
fanquake Dec 11, 2023
d5e5810
Merge bitcoin/bitcoin#28999: build: Enable -Wunreachable-code
fanquake Dec 11, 2023
faea302
refactor: Use C++20 std::chrono::days
Dec 8, 2023
fa2bac0
refactor: Avoid copy/move in fs.h
Oct 26, 2023
fa00098
Add tests for C++20 std::u8string
Dec 9, 2023
fa3d930
refactor: Remove pre-C++20 fs code
Dec 9, 2023
856c887
ArgsManager: return path by value from GetBlocksDirPath()
vasild Nov 2, 2023
98afe78
doc: Update bitcoin-tx replaceable documentation
kashifs Dec 7, 2023
d58f89d
doc: update/clarify max outbound connection count
MarnixCroes Dec 11, 2023
1757452
test: Add tests for CFeeRate multiplication operator
kashifs Dec 11, 2023
fb0b6ca
tests, bench: Remove incorrect LoadWallet() calls
achow101 Dec 8, 2023
bd7f5d3
wallet: Assert that the wallet is not initialized in LoadWallet
achow101 Dec 11, 2023
05e5ff1
test: add coverage for BnB-SFFO restriction
furszy Sep 12, 2023
576bee8
fuzz: disable BnB when SFFO is enabled
furszy Dec 4, 2023
7b22cd8
Revert "ci: Only run functional tests on windows in master"
hebasto Dec 12, 2023
622e79e
Merge bitcoin/bitcoin#29021: refactor: rpc: Pass CBlockIndex by refer…
fanquake Dec 12, 2023
7a28383
Merge bitcoin/bitcoin#29052: doc/reduce-traffic: update/clarify max o…
fanquake Dec 12, 2023
60f6773
Merge bitcoin/bitcoin#29055: tests, bench: Fix issue with CWallet::Lo…
fanquake Dec 12, 2023
a7484be
Merge bitcoin/bitcoin#29059: Revert "ci: Only run functional tests on…
fanquake Dec 12, 2023
beb3096
depends: always install capnp to /lib
fanquake Dec 6, 2023
506634d
depends: always install libmultiprocess to /lib
fanquake Nov 10, 2023
bde8d63
depends: build libmultiprocess with position independant code
fanquake Dec 6, 2023
d646ca3
Merge bitcoin/bitcoin#28994: wallet: skip BnB when SFFO is enabled
achow101 Dec 12, 2023
37c75c5
test: wallet, fix change position out of range error
furszy Dec 12, 2023
49a9091
build: Bump minimum required Boost to 1.73.0 to support C++20
hebasto Dec 12, 2023
fa0534d
test: Actually fail when a python unit test fails
Dec 12, 2023
f48a789
Merge bitcoin/bitcoin#28075: util: Remove DirIsWritable, GetUniquePath
fanquake Dec 13, 2023
bf0f7db
test: add TestNode wait_until helper
nikodemas Dec 13, 2023
54f6756
Merge bitcoin/bitcoin#28846: depends: fix libmultiprocess build on aa…
fanquake Dec 13, 2023
8431a19
Merge bitcoin/bitcoin#29068: test: Actually fail when a python unit t…
fanquake Dec 13, 2023
f0e8290
Merge bitcoin/bitcoin#28967: build: disable external-signer for Windows
fanquake Dec 13, 2023
0830dcb
Merge bitcoin/bitcoin#29066: Bump minimum required Boost version due …
fanquake Dec 13, 2023
f76e59d
msvc: Fix `test\config.ini` content
hebasto Dec 13, 2023
019ec8a
Merge bitcoin/bitcoin#29075: msvc: Fix `test\config.ini` content
fanquake Dec 13, 2023
9f0f83d
Merge bitcoin/bitcoin#29065: bench: wallet, fix change position out o…
achow101 Dec 13, 2023
fa87a20
build: Bump guix time-machine to unlock riscv64 metal
Dec 14, 2023
fa769d3
fuzz: Limit p2p fuzz targets to MAX_PROTOCOL_MESSAGE_LENGTH
Dec 14, 2023
43c3246
ci: Set `HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK` to avoid failures
hebasto Dec 14, 2023
e6dbf48
Merge bitcoin/bitcoin#29080: ci: Set `HOMEBREW_NO_INSTALLED_DEPENDENT…
hebasto Dec 14, 2023
6666713
refactor: Rename fs::path::u8string() to fs::path::utf8string()
Dec 14, 2023
4d7b787
Merge bitcoin/bitcoin#29022: Make bitcoin-tx replaceable value optional
achow101 Dec 14, 2023
9860471
Merge bitcoin/bitcoin#29070: test: add TestNode wait_until helper
achow101 Dec 14, 2023
b2fc7a2
[fuzz] Improve fuzzing stability for minisketch harness
dergoegge Dec 12, 2023
4ad5c71
Merge bitcoin/bitcoin#28051: Get rid of shutdown.cpp/shutdown.h, use …
achow101 Dec 14, 2023
08e6aaa
Merge bitcoin/bitcoin#28920: wallet: birth time update during tx scan…
achow101 Dec 14, 2023
1b2dedb
Merge bitcoin/bitcoin#29040: refactor: Remove pre-C++20 code, fs::pat…
achow101 Dec 14, 2023
e7d6650
Update security.md contact for achow101
achow101 Dec 14, 2023
7dfabdc
tests: test both settings for permitbaremultisig in p2sh tests
ajtowns Aug 19, 2023
7b45744
tests: ensure functional tests set permitbaremultisig=1 when needed
ajtowns Dec 15, 2023
cd81007
fuzz: coinselection, improve `min_viable_change`/`change_output_size`
brunoerg Aug 29, 2023
9776186
Merge bitcoin/bitcoin#29087: Update security.md contact for achow101
fanquake Dec 15, 2023
fa898e6
refactor: Print verbose serialize compiler error messages
Dec 11, 2023
fae5263
Allow std::byte C-style array serialization
Dec 11, 2023
3695ecb
Merge bitcoin/bitcoin#29088: tests: Don't depend on value of DEFAULT_…
achow101 Dec 15, 2023
8dec9c5
wallet, mempool: propagete `checkChainLimits` error message to wallet
ismaelsadeeq Nov 24, 2023
925a750
Merge bitcoin/bitcoin#28844: contrib: drop GCC MAX_VERSION to 4.3.0 i…
fanquake Dec 18, 2023
4b94578
Merge bitcoin/bitcoin#29079: fuzz: Limit p2p fuzz targets to MAX_PROT…
fanquake Dec 18, 2023
c840dea
Merge bitcoin/bitcoin#29078: build: Bump guix time-machine to unlock …
fanquake Dec 18, 2023
eef19c4
Merge bitcoin/bitcoin#29064: fuzz: Improve fuzzing stability for mini…
fanquake Dec 18, 2023
dd39194
Merge bitcoin/bitcoin#28863: wallet, mempool: propagete `checkChainLi…
glozow Dec 18, 2023
19bb65b
[doc]: add doxygen return comment for CheckPackageLimits
ismaelsadeeq Dec 19, 2023
e3847f7
Merge bitcoin/bitcoin#29037: Add multiplication operator to CFeeRate
achow101 Dec 20, 2023
3a0f54d
Merge bitcoin/bitcoin#29115: [doc]: add doxygen comment describing w…
glozow Dec 20, 2023
7524fcf
Merge bitcoin/bitcoin#28372: fuzz: coinselection, improve `min_viable…
achow101 Dec 21, 2023
eefe4ba
Merge bitcoin/bitcoin#29027: wallet: fix key parsing check for minisc…
achow101 Dec 21, 2023
dca0f23
Merge bitcoin/bitcoin#29056: refactor: Print verbose serialize compil…
achow101 Dec 21, 2023
1295c1c
doc: Added Compressed Transaction Schema
TomBriar Oct 20, 2023
baeec24
util: Added a variable length bitstream encoder
TomBriar Oct 20, 2023
4ab4bd2
script: Added the rest of the IsPayTo functions
TomBriar Oct 20, 2023
4c272b4
addresstype: Split ExtractDestination into two functions
TomBriar Dec 6, 2023
98943de
node: Added vector based coin lookup
TomBriar Dec 6, 2023
f202aab
primitives: Added Compressed Transaction
TomBriar Dec 6, 2023
1ecfbd7
validation: Added OutPoint (De)Compression
TomBriar Oct 20, 2023
3de3bb1
rpc: Added RPC endpoints for Compressed Transactions
TomBriar Jul 11, 2023
534e415
test: Added test for RPC Endpoint compressrawtransaction and decompre…
TomBriar Dec 6, 2023
7d61d47
fuzz: Added Fuzz tests for Compressed Transactions
TomBriar Jul 11, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
356 changes: 109 additions & 247 deletions .cirrus.yml

Large diffs are not rendered by default.

6 changes: 4 additions & 2 deletions .github/ISSUE_TEMPLATE/good_first_issue.yml
Expand Up @@ -29,8 +29,10 @@ body:
attributes:
label: Useful Skills
description: For example, “`std::thread`”, “Qt5 GUI and async GUI design” or “basic understanding of Bitcoin mining and the Bitcoin Core RPC interface”.
validations:
required: false
value: |
* Compiling Bitcoin Core from source
* Running the C++ unit tests and the Python functional tests
* ...
- type: textarea
attributes:
label: Guidance for new contributors
Expand Down
289 changes: 289 additions & 0 deletions .github/workflows/ci.yml
@@ -0,0 +1,289 @@
# Copyright (c) 2023 The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.

name: CI
on:
# See: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request.
pull_request:
# See: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#push.
push:
branches:
- '**'
tags-ignore:
- '**'

concurrency:
group: ${{ github.event_name != 'pull_request' && github.run_id || github.ref }}
cancel-in-progress: true

env:
DANGER_RUN_CI_ON_HOST: 1
CI_FAILFAST_TEST_LEAVE_DANGLING: 1 # GHA does not care about dangling processes and setting this variable avoids killing the CI script itself on error
MAKEJOBS: '-j10'

jobs:
test-each-commit:
name: 'test each commit'
runs-on: ubuntu-22.04
if: github.event_name == 'pull_request' && github.event.pull_request.commits != 1
timeout-minutes: 360 # Use maximum time, see https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idtimeout-minutes. Assuming a worst case time of 1 hour per commit, this leads to a --max-count=6 below.
env:
MAX_COUNT: 6
steps:
- name: Determine fetch depth
run: echo "FETCH_DEPTH=$((${{ github.event.pull_request.commits }} + 2))" >> "$GITHUB_ENV"
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: ${{ env.FETCH_DEPTH }}
- name: Determine commit range
run: |
# Checkout HEAD~ and find the test base commit
# Checkout HEAD~ because it would be wasteful to rerun tests on the PR
# head commit that are already run by other jobs.
git checkout HEAD~
# Figure out test base commit by listing ancestors of HEAD, excluding
# ancestors of the most recent merge commit, limiting the list to the
# newest MAX_COUNT ancestors, ordering it from oldest to newest, and
# taking the first one.
#
# If the branch contains up to MAX_COUNT ancestor commits after the
# most recent merge commit, all of those commits will be tested. If it
# contains more, only the most recent MAX_COUNT commits will be
# tested.
#
# In the command below, the ^@ suffix is used to refer to all parents
# of the merge commit as described in:
# https://git-scm.com/docs/git-rev-parse#_other_rev_parent_shorthand_notations
# and the ^ prefix is used to exclude these parents and all their
# ancestors from the rev-list output as described in:
# https://git-scm.com/docs/git-rev-list
echo "TEST_BASE=$(git rev-list -n$((${{ env.MAX_COUNT }} + 1)) --reverse HEAD ^$(git rev-list -n1 --merges HEAD)^@ | head -1)" >> "$GITHUB_ENV"
- run: |
sudo apt-get update
sudo apt-get install clang-15 ccache build-essential libtool autotools-dev automake pkg-config bsdmainutils python3-zmq libevent-dev libboost-dev libsqlite3-dev libdb++-dev systemtap-sdt-dev libminiupnpc-dev libnatpmp-dev libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools qtwayland5 libqrencode-dev -y
- name: Compile and run tests
run: |
# Run tests on commits after the last merge commit and before the PR head commit
# Use clang++, because it is a bit faster and uses less memory than g++
git rebase --exec "echo Running test-one-commit on \$( git log -1 ) && ./autogen.sh && CC=clang-15 CXX=clang++-15 ./configure && make clean && make -j $(nproc) check && ./test/functional/test_runner.py -j $(( $(nproc) * 2 ))" ${{ env.TEST_BASE }}

macos-native-x86_64:
name: 'macOS 13 native, x86_64, no depends, sqlite only, gui'
# Use latest image, but hardcode version to avoid silent upgrades (and breaks).
# See: https://github.com/actions/runner-images#available-images.
runs-on: macos-13

# No need to run on the read-only mirror, unless it is a PR.
if: github.repository != 'bitcoin-core/gui' || github.event_name == 'pull_request'

timeout-minutes: 120

env:
FILE_ENV: './ci/test/00_setup_env_mac_native.sh'
BASE_ROOT_DIR: ${{ github.workspace }}

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Clang version
run: clang --version

- name: Install Homebrew packages
env:
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1
run: brew install automake libtool pkg-config gnu-getopt ccache boost libevent miniupnpc libnatpmp zeromq qt@5 qrencode

- name: Set Ccache directory
run: echo "CCACHE_DIR=${RUNNER_TEMP}/ccache_dir" >> "$GITHUB_ENV"

- name: Restore Ccache cache
id: ccache-cache
uses: actions/cache/restore@v3
with:
path: ${{ env.CCACHE_DIR }}
key: ${{ github.job }}-ccache-${{ github.run_id }}
restore-keys: ${{ github.job }}-ccache-

- name: CI script
run: ./ci/test_run_all.sh

- name: Save Ccache cache
uses: actions/cache/save@v3
if: github.event_name != 'pull_request' && steps.ccache-cache.outputs.cache-hit != 'true'
with:
path: ${{ env.CCACHE_DIR }}
# https://github.com/actions/cache/blob/main/tips-and-workarounds.md#update-a-cache
key: ${{ github.job }}-ccache-${{ github.run_id }}

win64-native:
name: 'Win64 native, VS 2022'
# Use latest image, but hardcode version to avoid silent upgrades (and breaks).
# See: https://github.com/actions/runner-images#available-images.
runs-on: windows-2022

# No need to run on the read-only mirror, unless it is a PR.
if: github.repository != 'bitcoin-core/gui' || github.event_name == 'pull_request'

env:
CCACHE_MAXSIZE: '200M'
CI_CCACHE_VERSION: '4.7.5'
CI_QT_CONF: '-release -silent -opensource -confirm-license -opengl desktop -static -static-runtime -mp -qt-zlib -qt-pcre -qt-libpng -nomake examples -nomake tests -nomake tools -no-angle -no-dbus -no-gif -no-gtk -no-ico -no-icu -no-libjpeg -no-libudev -no-sql-sqlite -no-sql-odbc -no-sqlite -no-vulkan -skip qt3d -skip qtactiveqt -skip qtandroidextras -skip qtcharts -skip qtconnectivity -skip qtdatavis3d -skip qtdeclarative -skip doc -skip qtdoc -skip qtgamepad -skip qtgraphicaleffects -skip qtimageformats -skip qtlocation -skip qtlottie -skip qtmacextras -skip qtmultimedia -skip qtnetworkauth -skip qtpurchasing -skip qtquick3d -skip qtquickcontrols -skip qtquickcontrols2 -skip qtquicktimeline -skip qtremoteobjects -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qtsvg -skip qtvirtualkeyboard -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebglplugin -skip qtwebsockets -skip qtwebview -skip qtx11extras -skip qtxmlpatterns -no-openssl -no-feature-bearermanagement -no-feature-printdialog -no-feature-printer -no-feature-printpreviewdialog -no-feature-printpreviewwidget -no-feature-sql -no-feature-sqlmodel -no-feature-textbrowser -no-feature-textmarkdownwriter -no-feature-textodfwriter -no-feature-xml'
CI_QT_DIR: 'qt-everywhere-src-5.15.11'
CI_QT_URL: 'https://download.qt.io/official_releases/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.zip'
PYTHONUTF8: 1
TEST_RUNNER_TIMEOUT_FACTOR: 40

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Configure Developer Command Prompt for Microsoft Visual C++
# Using microsoft/setup-msbuild is not enough.
uses: ilammy/msvc-dev-cmd@v1
with:
arch: x64

- name: Check MSBuild and Qt
run: |
msbuild -version | Out-File -FilePath "$env:GITHUB_WORKSPACE\msbuild_version"
Get-Content -Path "$env:GITHUB_WORKSPACE\msbuild_version"
$env:VCToolsVersion | Out-File -FilePath "$env:GITHUB_WORKSPACE\toolset_version"
Get-Content -Path "$env:GITHUB_WORKSPACE\toolset_version"
$env:CI_QT_URL | Out-File -FilePath "$env:GITHUB_WORKSPACE\qt_url"
$env:CI_QT_CONF | Out-File -FilePath "$env:GITHUB_WORKSPACE\qt_conf"

- name: Restore static Qt cache
id: static-qt-cache
uses: actions/cache/restore@v3
with:
path: C:\Qt_static
key: ${{ github.job }}-static-qt-${{ hashFiles('msbuild_version', 'qt_url', 'qt_conf') }}

- name: Build static Qt. Download
if: steps.static-qt-cache.outputs.cache-hit != 'true'
shell: cmd
run: |
curl --location --output C:\qt-src.zip %CI_QT_URL%
choco install --yes --no-progress jom

- name: Build static Qt. Expand source archive
if: steps.static-qt-cache.outputs.cache-hit != 'true'
shell: cmd
run: tar -xf C:\qt-src.zip -C C:\

- name: Build static Qt. Create build directory
if: steps.static-qt-cache.outputs.cache-hit != 'true'
run: |
Rename-Item -Path "C:\$env:CI_QT_DIR" -NewName "C:\qt-src"
New-Item -ItemType Directory -Path "C:\qt-src\build"

- name: Build static Qt. Configure
if: steps.static-qt-cache.outputs.cache-hit != 'true'
working-directory: C:\qt-src\build
shell: cmd
run: ..\configure %CI_QT_CONF% -prefix C:\Qt_static

- name: Build static Qt. Build
if: steps.static-qt-cache.outputs.cache-hit != 'true'
working-directory: C:\qt-src\build
shell: cmd
run: jom

- name: Build static Qt. Install
if: steps.static-qt-cache.outputs.cache-hit != 'true'
working-directory: C:\qt-src\build
shell: cmd
run: jom install

- name: Save static Qt cache
if: steps.static-qt-cache.outputs.cache-hit != 'true'
uses: actions/cache/save@v3
with:
path: C:\Qt_static
key: ${{ github.job }}-static-qt-${{ hashFiles('msbuild_version', 'qt_url', 'qt_conf') }}

- name: Ccache installation cache
id: ccache-installation-cache
uses: actions/cache@v3
with:
path: |
C:\ProgramData\chocolatey\lib\ccache
C:\ProgramData\chocolatey\bin\ccache.exe
C:\ccache\cl.exe
key: ${{ github.job }}-ccache-installation-${{ env.CI_CCACHE_VERSION }}

- name: Install Ccache
if: steps.ccache-installation-cache.outputs.cache-hit != 'true'
run: |
choco install --yes --no-progress ccache --version=$env:CI_CCACHE_VERSION
New-Item -ItemType Directory -Path "C:\ccache"
Copy-Item -Path "$env:ChocolateyInstall\lib\ccache\tools\ccache-$env:CI_CCACHE_VERSION-windows-x86_64\ccache.exe" -Destination "C:\ccache\cl.exe"

- name: Restore Ccache cache
id: ccache-cache
uses: actions/cache/restore@v3
with:
path: ~/AppData/Local/ccache
key: ${{ github.job }}-ccache-${{ github.run_id }}
restore-keys: ${{ github.job }}-ccache-

- name: Using vcpkg with MSBuild
run: |
Set-Location "$env:VCPKG_INSTALLATION_ROOT"
Add-Content -Path "triplets\x64-windows-static.cmake" -Value "set(VCPKG_BUILD_TYPE release)"
Add-Content -Path "triplets\x64-windows-static.cmake" -Value "set(VCPKG_PLATFORM_TOOLSET_VERSION $env:VCToolsVersion)"
.\vcpkg.exe --vcpkg-root "$env:VCPKG_INSTALLATION_ROOT" integrate install
git rev-parse HEAD | Out-File -FilePath "$env:GITHUB_WORKSPACE\vcpkg_commit"
Get-Content -Path "$env:GITHUB_WORKSPACE\vcpkg_commit"

- name: vcpkg tools cache
uses: actions/cache@v3
with:
path: C:/vcpkg/downloads/tools
key: ${{ github.job }}-vcpkg-tools

- name: vcpkg binary cache
uses: actions/cache@v3
with:
path: ~/AppData/Local/vcpkg/archives
key: ${{ github.job }}-vcpkg-binary-${{ hashFiles('vcpkg_commit', 'msbuild_version', 'toolset_version', 'build_msvc/vcpkg.json') }}

- name: Generate project files
run: py -3 build_msvc\msvc-autogen.py

- name: Build
shell: cmd
run: |
ccache --zero-stats
msbuild build_msvc\bitcoin.sln -property:CLToolPath=C:\ccache;CLToolExe=cl.exe;UseMultiToolTask=true;Configuration=Release -maxCpuCount -verbosity:minimal -noLogo

- name: Ccache stats
run: ccache --show-stats

- name: Save Ccache cache
uses: actions/cache/save@v3
if: github.event_name != 'pull_request' && steps.ccache-cache.outputs.cache-hit != 'true'
with:
path: ~/AppData/Local/ccache
# https://github.com/actions/cache/blob/main/tips-and-workarounds.md#update-a-cache
key: ${{ github.job }}-ccache-${{ github.run_id }}

- name: Run unit tests
run: src\test_bitcoin.exe -l test_suite

- name: Run benchmarks
run: src\bench_bitcoin.exe -sanity-check

- name: Run util tests
run: py -3 test\util\test_runner.py

- name: Run rpcauth test
run: py -3 test\util\rpcauth-test.py

- name: Run functional tests
env:
TEST_RUNNER_EXTRA: ${{ github.event_name != 'pull_request' && '--extended' || '' }}
run: py -3 test\functional\test_runner.py --jobs $env:NUMBER_OF_PROCESSORS --ci --quiet --tmpdirprefix=$env:RUNNER_TEMP --combinedlogslen=99999999 --timeout-factor=$env:TEST_RUNNER_TIMEOUT_FACTOR $env:TEST_RUNNER_EXTRA
2 changes: 1 addition & 1 deletion .gitignore
Expand Up @@ -74,7 +74,7 @@ src/qt/bitcoin-qt.includes

*.log
*.trs
*.dmg
*.zip

*.json.h
*.raw.h
Expand Down
2 changes: 1 addition & 1 deletion .python-version
@@ -1 +1 @@
3.8.16
3.9.18
2 changes: 1 addition & 1 deletion .tx/config
@@ -1,7 +1,7 @@
[main]
host = https://www.transifex.com

[o:bitcoin:p:bitcoin:r:qt-translation-025x]
[o:bitcoin:p:bitcoin:r:qt-translation-026x]
file_filter = src/qt/locale/bitcoin_<lang>.xlf
source_file = src/qt/locale/bitcoin_en.xlf
source_lang = en