Skip to content

Sync with the main repo #20

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

Merged
merged 152 commits into from
Aug 22, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
152 commits
Select commit Hold shift + click to select a range
6971e79
gui: add Direction column to peers tab
jonatack Apr 23, 2021
93cc53a
gui: Unregister wallet notifications before unloading wallets
ryanofsky Dec 5, 2017
5c5d0b6
Add FoundBlock.found member
ryanofsky Dec 10, 2020
4830f49
qt: Refactor open date range to use std::optional
promag Jun 3, 2021
cd37356
[crypto] Fix K1/K2 use in ChaCha20-Poly1305 AEAD
dhruv Jun 18, 2021
fa6fd3d
wallet: Properly set fInMempool in mempool notifications
Jun 28, 2021
9571c69
Add bilingual_str::clear()
achow101 Jun 23, 2021
171366e
Use bilingual_str for address fetching functions
achow101 Jun 23, 2021
92993aa
Change SignTransaction's input_errors to use bilingual_str
achow101 Jun 23, 2021
bb822a7
wallet, rpc: add listdescriptors private option
S3RK Jun 24, 2021
9321086
test: add assert_getpeerinfo method and coverage in p2p_addrfetch.py
jonatack Jul 28, 2021
f8d8eb5
test: add addr-fetch timeout connection coverage in p2p_addrfetch.py
jonatack Jul 28, 2021
b851a92
cli: Add progress bar for -getinfo
klementtan Jul 25, 2021
d930c7f
p2p, rpc, test: address rate-limiting follow-ups
jonatack Jul 31, 2021
fafe896
test: Set regtest.BIP66Height = 102 to speed up tests
Aug 5, 2021
f95bbf5
misc package validation doc improvements
glozow Jul 15, 2021
97dd1c7
MOVEONLY: add helper function for calculating ancestors and checking …
glozow Jul 15, 2021
f551841
[refactor] pass size/count instead of entry to CalculateAncestorsAndC…
glozow Jul 15, 2021
c6e016a
[mempool] check ancestor/descendant limits for packages
glozow Jul 15, 2021
ee458d8
Add missing const to CAddrMan::Check_()
Aug 2, 2021
fa9710f
[addrman] Add deterministic argument to CAddrMan ctor
jnewbery Jul 23, 2021
10aac24
[tests] Make deterministic addrman use nKey = 1
jnewbery Jul 19, 2021
90b3e48
release: Release with separate SHA256SUMS and sig files
dongcarl Aug 5, 2021
d451b60
guix-verify: Non-zero exit code when anything fails
dongcarl Aug 5, 2021
3cd663a
[policy] ancestor/descendant limits for packages
glozow Jul 15, 2021
f8253d6
extract/rename helper functions from rpc_packages.py
glozow Aug 3, 2021
313c09f
[test] helper function to increase transaction weight
glozow Aug 5, 2021
2b6b26e
[test] parameterizable fee for make_chain and create_child_with_parents
glozow Aug 5, 2021
accf3d5
[test] mempool package ancestor/descendant limits
glozow Jul 15, 2021
fa77183
fuzz: Avoid OOM in system fuzz target
Aug 6, 2021
6a5ccd6
scripted-diff: Rename JoinErrors in more general MakeUnorderedList
hebasto Aug 6, 2021
77a90f0
refactor: Move MakeUnorderedList into util/string.h to make it reusable
hebasto Aug 6, 2021
bb56486
refactor: Reuse MakeUnorderedList where possible
hebasto Aug 6, 2021
8fa03c4
Merge bitcoin/bitcoin#21500: wallet, rpc: add an option to list priva…
meshcollider Aug 9, 2021
a162edf
Merge bitcoin/bitcoin#22359: wallet: Do not set fInMempool in transac…
meshcollider Aug 9, 2021
b1a672d
Merge bitcoin/bitcoin#22337: wallet: Use bilingual_str for errors
meshcollider Aug 9, 2021
21438d5
Merge bitcoin/bitcoin#21800: mempool/validation: mempool ancestor/des…
fanquake Aug 9, 2021
5449d44
scripts: prevent GCC optimising test symbols in test-symbol-check
fanquake Aug 6, 2021
a9509fe
Merge bitcoin/bitcoin#22643: guix-verify: Non-zero exit code when any…
fanquake Aug 9, 2021
8193294
Merge bitcoin/bitcoin#22642: release: Release with separate SHA256SUM…
fanquake Aug 9, 2021
ce09131
Merge bitcoin/bitcoin#22547: cli: Add progress bar for -getinfo
meshcollider Aug 10, 2021
0b5344b
Merge bitcoin/bitcoin#22632: test: Set regtest.BIP66Height = 102 to s…
laanwj Aug 10, 2021
ae23fab
Add a new RPC command: restorewallet
lsilva01 Jul 27, 2021
5fe8100
Change the wallet_backup.py test to use the restorewallet RPC command…
lsilva01 Jul 30, 2021
c3545a7
Merge bitcoin/bitcoin#22653: refactor: Rename JoinErrors and re-use it
fanquake Aug 11, 2021
ad28b66
qt: Add SubFeeFromAmount option
psancheti110 Jul 29, 2021
62b125f
qt, refactor: Fix indentation
psancheti110 Aug 10, 2021
0237d95
qt: Add Load PSBT functionaliy with nowallet
psancheti110 Aug 7, 2021
3d9cdb1
Merge bitcoin-core/gui#354: Refactor open date range to use std::opti…
hebasto Aug 11, 2021
77e23ca
Merge bitcoin-core/gui#317: Add Direction column to Peers Tab
hebasto Aug 11, 2021
e614cc8
Merge bitcoin-core/gui#399: Fix "Load PSBT" functionality when no wal…
hebasto Aug 11, 2021
5100dee
clientversion: No suffix #if CLIENT_VERSION_IS_RELEASE
dongcarl Aug 11, 2021
9948f11
Merge bitcoin-core/gui#390: Add SubFeeFromAmount to options
hebasto Aug 11, 2021
a4d7854
[addrman] Make addrman consistency checks a runtime option
jnewbery Oct 23, 2020
439e58c
Merge bitcoin-core/gui#360: Unregister wallet notifications before un…
hebasto Aug 12, 2021
45babb2
builder-keys: add jamesob
jamesob Aug 12, 2021
2de222c
wallet: Use GetSelectionAmount for target value calculations
achow101 Aug 12, 2021
d926232
wallet: Assert that enough was selected to cover the fees
achow101 Aug 12, 2021
92885c4
test: Test for ApproximateBestSubset edge case with too little fees
achow101 Aug 12, 2021
803ef70
Merge bitcoin/bitcoin#20233: addrman: Make consistency checks a runti…
fanquake Aug 13, 2021
4844b74
p2p: log addrman consistency checks
jonatack Aug 13, 2021
7d95777
builder-keys: Add dongcarl
dongcarl Aug 13, 2021
4c87665
Merge bitcoin/bitcoin#22604: p2p, rpc, test: address rate-limiting fo…
fanquake Aug 14, 2021
adf9bcf
Merge bitcoin/bitcoin#22696: p2p: log addrman consistency checks
fanquake Aug 14, 2021
be499aa
Merge bitcoin/bitcoin#22692: builder-keys: add jamesob
fanquake Aug 15, 2021
502d22c
Merge bitcoin/bitcoin#22541: Add a new RPC command: restorewallet
meshcollider Aug 15, 2021
11c7d00
Merge bitcoin/bitcoin#22700: builder-keys: Add dongcarl
fanquake Aug 16, 2021
820129a
Merge bitcoin/bitcoin#22686: wallet: Use GetSelectionAmount in Approx…
fanquake Aug 16, 2021
3facf0a
Merge bitcoin/bitcoin#22685: clientversion: No suffix #if CLIENT_VERS…
fanquake Aug 16, 2021
60e0cbd
[addrman] Merge the two Add() functions
amitiuttarwar Jul 23, 2021
14b4802
wallet: use FormatFullVersion instead of CLIENT_BUILD in rpcdump
fanquake Aug 16, 2021
2d7534b
wallet: use PACKAGE_NAME instead of "Bitcoin" in rpcdump
fanquake Aug 16, 2021
42b00a3
Merge bitcoin/bitcoin#22649: fuzz: Avoid OOM in system fuzz target
Aug 16, 2021
939640f
ci: Reorder scripts to make git available before depends_sources_cache
hebasto Aug 16, 2021
86dbd54
test: improve mempool_updatefrom efficiency by using getmempoolentry …
mjdietzx Aug 16, 2021
7734971
test: use getmempoolentry instead of getrawmempool in functional test…
mjdietzx Aug 16, 2021
47c48b5
test: only use verbose for getrawmempool when necessary in functional…
mjdietzx Aug 16, 2021
e2ff385
test: check for invalid `-prune` parameters
theStack Aug 11, 2021
fa76ebd
doc: Add missing PR 16333 release note
Aug 16, 2021
b935abb
Merge bitcoin/bitcoin#22684: test: check for invalid `-prune` parameters
Aug 16, 2021
021daed
refactor: replace remaining binascii method calls
Zero-1729 Aug 16, 2021
8a40b22
Merge bitcoin/bitcoin#22718: doc: Add missing PR 16333 release note
Aug 16, 2021
df30375
Merge bitcoin/bitcoin#22715: wallet: use `FormatFullVersion()` & `PAC…
fanquake Aug 17, 2021
4c43b7d
contrib: use hkps://keys.openpgp.org to retrieve builder keys
fanquake Aug 12, 2021
f3dbd1c
Merge bitcoin/bitcoin#22627: [addrman] De-duplicate Add() function
fanquake Aug 17, 2021
fdd80b0
Merge bitcoin/bitcoin#22688: contrib: use `keys.openpgp.org` to retri…
fanquake Aug 17, 2021
62a09a3
refactor: remove ::vpwallets and related global variables
ryanofsky May 28, 2020
f12fbad
windres: use PACKAGE_VERSION rather than building more version numbers
fanquake Aug 17, 2021
ce4e906
Document about wallet backup and restoration
lsilva01 Jul 22, 2021
bb9f76a
Merge bitcoin/bitcoin#22523: Document about wallet backup and restora…
meshcollider Aug 15, 2021
aaa6ad5
[MOVEONLY] [tests] Move addrman ser/deser tests to addrman_tests.cpp
jnewbery Aug 17, 2021
62cb400
Merge bitcoin/bitcoin#22215: refactor: Add FoundBlock.found member
fanquake Aug 18, 2021
b5c468c
Merge bitcoin/bitcoin#22725: MOVEONLY: tests: Move addrman ser/deser …
fanquake Aug 18, 2021
6f3d5ad
test: use f-strings in feature_asmap.py
fanquake Jun 11, 2021
5453e87
test: use f-strings in feature_backwards_compatibility.py
fanquake Jun 11, 2021
dca173c
test: use f-strings in feature_blocksdir.py
fanquake Jun 11, 2021
36d33d3
test: use f-strings in feature_cltv.py
fanquake Jun 11, 2021
e2f1fd8
test: use f-strings in feature_config_args.py
fanquake Jun 11, 2021
3e2f84e
test: use f-strings in feature_csv_activation.py
fanquake Jun 11, 2021
a2502cc
test: use f-strings in feature_dbcrash.py
fanquake Jun 11, 2021
a2de33c
test: use f-strings in feature_dersig.py
fanquake Jun 11, 2021
d5a6adc
test: use f-strings in feature_fee_estimation.py
fanquake Jun 11, 2021
ff7e330
test: use f-strings in feature_filelock.py
fanquake Jun 11, 2021
e9ca8b2
test: use f-strings in feature_help.py
fanquake Jun 11, 2021
fb63393
test: use f-strings in feature_loadblock.py
fanquake Jun 11, 2021
6679ece
test: use f-strings in feature_logging.py
fanquake Jun 11, 2021
1a546e6
test: use f-strings in feature_minchainwork.py
fanquake Jun 11, 2021
961f581
test: use f-strings in feature_notifications.py
fanquake Jun 11, 2021
6651d77
test: use f-strings in feature_pruning.py
fanquake Jun 11, 2021
cf6d66b
test: use f-strings in feature_settings.py
fanquake Jun 11, 2021
b166d54
test: use f-strings in feature_versionbits_warning.py
fanquake Jun 11, 2021
31bdb33
test: use f-strings in feature_segwit.py
fanquake Jun 11, 2021
86d9582
test: use f-strings in feature_proxy.py
fanquake Jun 11, 2021
c2a5d56
test: use f-strings in interface_*.py tests
fanquake Jun 12, 2021
68faa87
test: use f-strings in mining_*.py tests
fanquake Jun 12, 2021
f68c6ce
net: use clientInterface rather than uiInterface
fanquake Aug 18, 2021
d8ba632
scripted-diff: replace clientInterface with m_client_interface in net
fanquake Aug 18, 2021
e35c4a3
Merge bitcoin/bitcoin#22732: net: use m_client_interface rather than …
fanquake Aug 18, 2021
181a120
[addrman] Move peers.dat parsing to init.cpp
jnewbery Aug 5, 2021
e8e7392
[addrman] Don't call Clear() if parsing peers.dat fails
jnewbery Aug 5, 2021
ed9ba8a
[tests] Remove CAddrMan.Clear() call from CAddrDB::Read()
jnewbery Aug 5, 2021
9049935
Merge bitcoin/bitcoin#22645: scripts: prevent GCC optimising test sym…
laanwj Aug 18, 2021
f52a72a
ci: Invalidate depends caches when sources have been changed
hebasto Aug 16, 2021
5a9e255
ci: Run fuzzer task for the master branch only
hebasto Aug 18, 2021
38975ec
Merge bitcoin/bitcoin#22229: test: consolidate to f-strings (part 1)
Aug 18, 2021
cabbd01
Merge bitcoin/bitcoin#22724: windres: use PACKAGE_VERSION rather than…
fanquake Aug 18, 2021
fb17c99
guix: Don't include directory name in SHA256SUMS
achow101 Aug 6, 2021
1ea11e1
doc: link to managing-wallets from doc readme
fanquake Aug 19, 2021
607a633
Merge bitcoin/bitcoin#22331: crypto: Fix K1/K2 use in ChaCha20-Poly13…
fanquake Aug 19, 2021
638855a
Merge bitcoin/bitcoin#19101: refactor: remove ::vpwallets and related…
fanquake Aug 19, 2021
b784ab1
Merge bitcoin/bitcoin#22739: doc: link to managing-wallets from docs …
fanquake Aug 19, 2021
8dcbbbe
test: fix bug in 22686
S3RK Aug 19, 2021
406be5f
[addrman] Remove all public uses of CAddrMan.Clear() from the tests
jnewbery Aug 5, 2021
7e6e659
[addrman] inline Clear() into CAddrMan ctor
jnewbery Aug 5, 2021
4d2fa97
[addrman] Clean up ctor
jnewbery Aug 5, 2021
b6a8e68
Merge bitcoin/bitcoin#22710: ci: Invalidate depends caches when sourc…
Aug 19, 2021
92f3a4b
Merge bitcoin/bitcoin#22742: test: Use proper target in do_fund_send
Aug 19, 2021
470c6aa
doc: Update GitHub documentation links
suriyaa Aug 19, 2021
fa35efa
ci: Run arm task on arm64 hardware
Aug 19, 2021
999f8b2
Merge bitcoin/bitcoin#22568: test: add addr-fetch peer connection sta…
Aug 19, 2021
132cae4
doc: Mention the flat directory structure for uploads
achow101 Aug 10, 2021
040e4de
scripted-diff: Rename template to avoid CI configuration parsing warning
hebasto Aug 19, 2021
e9cf506
ci: Make git available for all merge commits
hebasto Aug 19, 2021
5b6104e
Merge bitcoin/bitcoin#22746: doc: Update GitHub documentation links
fanquake Aug 20, 2021
0263583
Merge bitcoin/bitcoin#22750: ci: Followups for #22710
Aug 20, 2021
602c8eb
Merge bitcoin/bitcoin#22697: addrman: Remove CAddrMan::Clear() function
fanquake Aug 20, 2021
d316934
Merge bitcoin/bitcoin#22654: guix: Don't include directory name in SH…
fanquake Aug 20, 2021
ff1e633
Merge bitcoin/bitcoin#22730: ci: Run fuzzer task for the master branc…
fanquake Aug 20, 2021
192a959
Merge bitcoin/bitcoin#22749: ci: Run arm task on arm64 hardware
Aug 20, 2021
4fc15d1
Merge bitcoin/bitcoin#22707: test: refactor use of getrawmempool in f…
Aug 20, 2021
f5a406f
Merge bitcoin/bitcoin#22633: refactor: Replace remaining binascii met…
Aug 21, 2021
566d37f
Sync with the main repo up to f5a406f003a060325128db47552089b3254044e3
hebasto Aug 21, 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
20 changes: 15 additions & 5 deletions .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,15 @@ persistent_worker_template: &PERSISTENT_WORKER_TEMPLATE
base_template: &BASE_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
merge_base_script:
- if [ "$CIRRUS_PR" = "" ]; then exit 0; fi
- bash -c "$PACKAGE_MANAGER_INSTALL git"
- if [ "$CIRRUS_PR" = "" ]; then exit 0; fi
- 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
stateful: false # https://cirrus-ci.org/guide/writing-tasks/#stateful-tasks

global_task_template: &GLOBAL_TASK_TEMPLATE
<< : *BASE_TEMPLATE
main_template: &MAIN_TEMPLATE
timeout_in: 120m # https://cirrus-ci.org/faq/#instance-timed-out
container:
# https://cirrus-ci.org/faq/#are-there-any-limits
Expand All @@ -41,9 +40,14 @@ global_task_template: &GLOBAL_TASK_TEMPLATE
folder: "/tmp/ccache_dir"
depends_built_cache:
folder: "depends/built"
fingerprint_script: echo $CIRRUS_TASK_NAME $(git rev-list -1 HEAD ./depends)
ci_script:
- ./ci/test_run_all.sh

global_task_template: &GLOBAL_TASK_TEMPLATE
<< : *BASE_TEMPLATE
<< : *MAIN_TEMPLATE

depends_sdk_cache_template: &DEPENDS_SDK_CACHE_TEMPLATE
depends_sdk_cache:
folder: "depends/sdk-sources"
Expand Down Expand Up @@ -86,11 +90,14 @@ task:
task:
name: 'ARM [unit tests, no functional tests] [buster]'
<< : *GLOBAL_TASK_TEMPLATE
container:
arm_container:
image: debian:buster
cpu: 2
memory: 8G
env:
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
FILE_ENV: "./ci/test/00_setup_env_arm.sh"
QEMU_USER_CMD: "" # Disable qemu and run the test natively

task:
name: 'Win64 [unit tests, no gui tests, no boost::process, no functional tests] [focal]'
Expand Down Expand Up @@ -153,6 +160,7 @@ task:

task:
name: '[no depends, sanitizers: fuzzer,address,undefined,integer] [focal]'
only_if: $CIRRUS_BRANCH == $CIRRUS_DEFAULT_BRANCH || $CIRRUS_BASE_BRANCH == $CIRRUS_DEFAULT_BRANCH
<< : *GLOBAL_TASK_TEMPLATE
container:
image: ubuntu:focal
Expand Down Expand Up @@ -211,9 +219,11 @@ task:
task:
name: 'ARM64 Android APK [focal]'
<< : *DEPENDS_SDK_CACHE_TEMPLATE
<< : *BASE_TEMPLATE
depends_sources_cache:
folder: "depends/sources"
<< : *GLOBAL_TASK_TEMPLATE
fingerprint_script: git rev-list -1 HEAD ./depends
<< : *MAIN_TEMPLATE
container:
image: ubuntu:focal
env:
Expand Down
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ facilitates social contribution, easy testing and peer review.

To contribute a patch, the workflow is as follows:

1. Fork repository ([only for the first time](https://help.github.com/en/articles/fork-a-repo))
1. Fork repository ([only for the first time](https://docs.github.com/en/get-started/quickstart/fork-a-repo))
1. Create topic branch
1. Commit patches

Expand Down Expand Up @@ -182,7 +182,7 @@ for more information on helping with translations.
### Work in Progress Changes and Requests for Comments

If a pull request is not to be considered for merging (yet), please
prefix the title with [WIP] or use [Tasks Lists](https://help.github.com/articles/basic-writing-and-formatting-syntax/#task-lists)
prefix the title with [WIP] or use [Tasks Lists](https://docs.github.com/en/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#task-lists)
in the body of the pull request to indicate tasks are pending.

### Address Feedback
Expand Down Expand Up @@ -386,7 +386,7 @@ about:
- It may be because your code is too complex for all but a few people, and those people
may not have realized your pull request even exists. A great way to find people who
are qualified and care about the code you are touching is the
[Git Blame feature](https://help.github.com/articles/tracing-changes-in-a-file/). Simply
[Git Blame feature](https://docs.github.com/en/github/managing-files-in-a-repository/managing-files-on-github/tracking-changes-in-a-file). Simply
look up who last modified the code you are changing and see if you can find
them and give them a nudge. Don't be incessant about the nudging, though.
- Finally, if all else fails, ask on IRC or elsewhere for someone to give your pull request
Expand Down
2 changes: 1 addition & 1 deletion ci/lint/06_script.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ test/lint/lint-all.sh

if [ "$CIRRUS_REPO_FULL_NAME" = "bitcoin/bitcoin" ] && [ -n "$CIRRUS_CRON" ]; then
git log --merges --before="2 days ago" -1 --format='%H' > ./contrib/verify-commits/trusted-sha512-root-commit
${CI_RETRY_EXE} gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys $(<contrib/verify-commits/trusted-keys) &&
${CI_RETRY_EXE} gpg --keyserver hkps://keys.openpgp.org --recv-keys $(<contrib/verify-commits/trusted-keys) &&
./contrib/verify-commits/verify-commits.py --clean-merge=2;
fi

Expand Down
2 changes: 1 addition & 1 deletion contrib/builder-keys/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ To fetch keys of builders and active developers, feed the list of fingerprints
of the primary keys into gpg:

```sh
while read fingerprint keyholder_name; do gpg --keyserver hkp://subset.pool.sks-keyservers.net --recv-keys ${fingerprint}; done < ./keys.txt
while read fingerprint keyholder_name; do gpg --keyserver hkps://keys.openpgp.org --recv-keys ${fingerprint}; done < ./keys.txt
```

Add your key to the list if you provided Guix attestations for two major or
Expand Down
2 changes: 2 additions & 0 deletions contrib/builder-keys/keys.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ E944AE667CF960B1004BC32FCA662BE18B877A60 Andreas Schildbach (aschildbach)
590B7292695AFFA5B672CBB2E13FC145CD3F4304 Antoine Poinsot (darosior)
0AD83877C1F0CD1EE9BD660AD7CC770B81FD22A8 Ben Carman (benthecarman)
912FD3228387123DC97E0E57D5566241A0295FA9 BtcDrak (btcdrak)
04017A2A6D9A0CCDC81D8EC296AB007F1A7ED999 Carl Dong (dongcarl)
C519EBCF3B926298946783EFF6430754120EC2F4 Christian Decker (cdecker)
18AE2F798E0D239755DA4FD24B79F986CBDF8736 Chun Kuan Le (ken2812221)
101598DC823C1B5F9A6624ABA5E0907A0380E6C3 CoinForensics (CoinForensics)
Expand All @@ -19,6 +20,7 @@ D35176BE9264832E4ACA8986BF0792FBE95DC863 fivepiece (fivepiece)
01CDF4627A3B88AAE4A571C87588242FBE38D3A8 Gavin Andresen (gavinandresen)
D1DBF2C4B96F2DEBF4C16654410108112E7EA81F Hennadii Stepanov (hebasto)
A2FD494D0021AA9B4FA58F759102B7AE654A4A5A Ilyas Ridhuan (IlyasRidhuan)
2688F5A9A4BE0F295E921E8A25F27A38A47AD566 James O'Beirne (jamesob)
D3F22A3A4C366C2DCB66D3722DA9C5A7FA81EA35 Jarol Rodriguez (jarolrod)
7480909378D544EA6B6DCEB7535B12980BB8A4D3 Jeffri H Frontz (jhfrontz)
D3CC177286005BB8FF673294C5242A1AB3936517 jl2012 (jl2012)
Expand Down
9 changes: 5 additions & 4 deletions contrib/devtools/test-symbol-check.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,20 +73,21 @@ def test_ELF(self):
(1, executable + ': NEEDED library libutil.so.1 is not allowed\n' +
executable + ': failed LIBRARY_DEPENDENCIES'))

# finally, check a conforming file that simply uses a math function
# finally, check a simple conforming binary
source = 'test3.c'
executable = 'test3'
with open(source, 'w', encoding="utf8") as f:
f.write('''
#include <math.h>
#include <stdio.h>

int main()
{
return (int)pow(2.0, 4.0);
printf("42");
return 0;
}
''')

self.assertEqual(call_symbol_check(cc, source, executable, ['-lm']),
self.assertEqual(call_symbol_check(cc, source, executable, []),
(0, ''))

def test_MACHO(self):
Expand Down
28 changes: 13 additions & 15 deletions contrib/guix/guix-attest
Original file line number Diff line number Diff line change
Expand Up @@ -159,23 +159,21 @@ Hint: You may wish to remove the existing attestations and their signatures by
EOF
}

# Given a document with unix line endings (just <LF>) in stdin, make all lines
# end in <CR><LF> and make sure there's no trailing <LF> at the end of the file.
#
# This is necessary as cleartext signatures are calculated on text after their
# line endings are canonicalized.
echo "Attesting to build outputs for version: '${VERSION}'"
echo ""

# Given a SHA256SUMS file as stdin that has lines like:
# 0ba536819b221a91d3d42e978be016aac918f40984754d74058aa0c921cd3ea6 a/b/d/c/d/s/bitcoin-22.0rc2-riscv64-linux-gnu.tar.gz
# ...
#
# For more information:
# 1. https://security.stackexchange.com/a/104261
# 2. https://datatracker.ietf.org/doc/html/rfc4880#section-7.1
# Replace each line's file name with its basename:
# 0ba536819b221a91d3d42e978be016aac918f40984754d74058aa0c921cd3ea6 bitcoin-22.0rc2-riscv64-linux-gnu.tar.gz
# ...
#
rfc4880_normalize_document() {
sed 's/$/\r/' | head -c -2
basenameify_SHA256SUMS() {
sed -E 's@(^[[:xdigit:]]{64}[[:space:]]+).+/([^/]+$)@\1\2@'
}

echo "Attesting to build outputs for version: '${VERSION}'"
echo ""

outsigdir="$GUIX_SIGS_REPO/$VERSION/$signer_name"
mkdir -p "$outsigdir"
(
Expand All @@ -188,7 +186,7 @@ mkdir -p "$outsigdir"
cat "${noncodesigned_fragments[@]}" \
| sort -u \
| sort -k2 \
| rfc4880_normalize_document \
| basenameify_SHA256SUMS \
> "$temp_noncodesigned"
if [ -e noncodesigned.SHA256SUMS ]; then
# The SHA256SUMS already exists, make sure it's exactly what we
Expand Down Expand Up @@ -216,7 +214,7 @@ mkdir -p "$outsigdir"
cat "${sha256sum_fragments[@]}" \
| sort -u \
| sort -k2 \
| rfc4880_normalize_document \
| basenameify_SHA256SUMS \
> "$temp_all"
if [ -e all.SHA256SUMS ]; then
# The SHA256SUMS already exists, make sure it's exactly what we
Expand Down
6 changes: 6 additions & 0 deletions contrib/guix/guix-verify
Original file line number Diff line number Diff line change
Expand Up @@ -77,11 +77,13 @@ verify() {
echo ""
echo "Hint: Either the signature is invalid or the public key is missing"
echo ""
failure=1
elif ! diff --report-identical "$compare_manifest" "$current_manifest" 1>&2; then
echo "ERR: The SHA256SUMS attestation in these two directories differ:"
echo " '${compare_manifest}'"
echo " '${current_manifest}'"
echo ""
failure=1
else
echo "Verified: '${current_manifest}'"
echo ""
Expand Down Expand Up @@ -166,3 +168,7 @@ if (( ${#all_noncodesigned[@]} + ${#all_all[@]} == 0 )); then
echo ""
exit 1
fi

if [ -n "$failure" ]; then
exit 1
fi
3 changes: 1 addition & 2 deletions contrib/linearize/linearize-data.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
import time
import glob
from collections import namedtuple
from binascii import unhexlify

settings = {}

Expand Down Expand Up @@ -332,7 +331,7 @@ def run(self):
settings['max_out_sz'] = int(settings['max_out_sz'])
settings['split_timestamp'] = int(settings['split_timestamp'])
settings['file_timestamp'] = int(settings['file_timestamp'])
settings['netmagic'] = unhexlify(settings['netmagic'].encode('utf-8'))
settings['netmagic'] = bytes.fromhex(settings['netmagic'])
settings['out_of_order_cache_sz'] = int(settings['out_of_order_cache_sz'])
settings['debug_output'] = settings['debug_output'].lower()

Expand Down
5 changes: 2 additions & 3 deletions contrib/signet/miner
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ import sys
import time
import subprocess

from binascii import unhexlify
from io import BytesIO

PATH_BASE_CONTRIB_SIGNET = os.path.abspath(os.path.dirname(os.path.realpath(__file__)))
Expand Down Expand Up @@ -202,7 +201,7 @@ def finish_block(block, signet_solution, grind_cmd):

def generate_psbt(tmpl, reward_spk, *, blocktime=None):
signet_spk = tmpl["signet_challenge"]
signet_spk_bin = unhexlify(signet_spk)
signet_spk_bin = bytes.fromhex(signet_spk)

cbtx = create_coinbase(height=tmpl["height"], value=tmpl["coinbasevalue"], spk=reward_spk)
cbtx.vin[0].nSequence = 2**32-2
Expand Down Expand Up @@ -258,7 +257,7 @@ def get_reward_addr_spk(args, height):
return args.address, args.reward_spk

reward_addr = get_reward_address(args, height)
reward_spk = unhexlify(json.loads(args.bcli("getaddressinfo", reward_addr))["scriptPubKey"])
reward_spk = bytes.fromhex(json.loads(args.bcli("getaddressinfo", reward_addr))["scriptPubKey"])
if args.address is not None:
# will always be the same, so cache
args.reward_spk = reward_spk
Expand Down
2 changes: 1 addition & 1 deletion contrib/verify-commits/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Import trusted keys
In order to check the commit signatures, you must add the trusted PGP keys to your machine. [GnuPG](https://gnupg.org/) may be used to import the trusted keys by running the following command:

```sh
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys $(<contrib/verify-commits/trusted-keys)
gpg --keyserver hkps://keys.openpgp.org --recv-keys $(<contrib/verify-commits/trusted-keys)
```

Key expiry/revocation
Expand Down
11 changes: 5 additions & 6 deletions contrib/zmq/zmq_sub.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
https://github.com/bitcoin/bitcoin/blob/37a7fe9e440b83e2364d5498931253937abe9294/contrib/zmq/zmq_sub.py
"""

import binascii
import asyncio
import zmq
import zmq.asyncio
Expand Down Expand Up @@ -58,18 +57,18 @@ async def handle(self) :
sequence = str(struct.unpack('<I', seq)[-1])
if topic == b"hashblock":
print('- HASH BLOCK ('+sequence+') -')
print(binascii.hexlify(body))
print(body.hex())
elif topic == b"hashtx":
print('- HASH TX ('+sequence+') -')
print(binascii.hexlify(body))
print(body.hex())
elif topic == b"rawblock":
print('- RAW BLOCK HEADER ('+sequence+') -')
print(binascii.hexlify(body[:80]))
print(body[:80].hex())
elif topic == b"rawtx":
print('- RAW TX ('+sequence+') -')
print(binascii.hexlify(body))
print(body.hex())
elif topic == b"sequence":
hash = binascii.hexlify(body[:32])
hash = body[:32].hex()
label = chr(body[32])
mempool_sequence = None if len(body) != 32+1+8 else struct.unpack("<Q", body[32+1:])[0]
print('- SEQUENCE ('+sequence+') -')
Expand Down
1 change: 1 addition & 0 deletions doc/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ The Bitcoin repo's [root README](/README.md) contains relevant information on th
- [Fuzz-testing](fuzzing.md)
- [I2P Support](i2p.md)
- [Init Scripts (systemd/upstart/openrc)](init.md)
- [Managing Wallets](managing-wallets.md)
- [PSBT support](psbt.md)
- [Reduce Memory](reduce-memory.md)
- [Reduce Traffic](reduce-traffic.md)
Expand Down
Loading