aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-12-06Make Bech32 LocateErrors return error list rather than using out-argSamuel Dobson
2021-12-01Use std::iota instead of manually pushing rangeSamuel Dobson
2021-12-01Use bounds-checked array lookups in Bech32 error detection codeSamuel Dobson
2021-12-01Simplify encoding of e in GF(1024) tables to (1,0)Samuel Dobson
This follows PR 64 of the sipa/bech32 repo.
2021-12-01Replace GF1024 tables and syndrome constants with compile-time generated ↵Samuel Dobson
constexprs.
2021-11-30Update release note for bech32 error detectionSamuel Dobson
2021-11-23Report encoding type in bech32 error messageSamuel Dobson
2021-11-23Improve Bech32 boost testsSamuel Dobson
2021-11-23Address review comments for Bech32 error validationSamuel Dobson
2021-11-22Merge bitcoin/bitcoin#16807: Let validateaddress locate error in Bech32 addressW. J. van der Laan
88cc4810926e4f5af6757ee1b0eed61abda3d746 Modify copyright header on Bech32 code (Samuel Dobson) 5599813b80e53a1539c66625b4320ab1b4fb4848 Add lots of comments to Bech32 (Samuel Dobson) 2eb5792ec7bbeaf7138420b6c85c5cd0a0404946 Add release notes for validateaddress Bech32 error detection (MeshCollider) 42d6a029e57a32f2d1d829ff7718b6d40d58b9d1 Refactor and add more tests for validateaddress (Samuel Dobson) c4979f77c1264f0099d1dfa278b1d9c18340b5f9 Add boost tests for bech32 error detection (MeshCollider) 02a7bdee429ae307a5e57832727fed789e2e04fb Add error_locations to validateaddress RPC (Samuel Dobson) b62b67e06cc406fdad68da4c091168fb5f11c1d4 Add Bech32 error location function (Samuel Dobson) 0b06e720c0182dee8b560d2e8d3891b036f63ea7 More detailed error checking for base58 addresses (Samuel Dobson) Pull request description: Addresses (partially) #16779 - no GUI change in this PR Adds a LocateError function the bech32 library, which is then called by `validateaddress` RPC, (and then eventually from a GUI tool too, future work). I think modifying validateaddress is nicer than adding a separate RPC for this. Includes tests. Based on https://github.com/sipa/bech32/blob/master/ecc/javascript/bech32_ecc.js Credit to sipa for that code ACKs for top commit: laanwj: Code review and manually tested ACK 88cc4810926e4f5af6757ee1b0eed61abda3d746 ryanofsky: Code review ACK 88cc4810926e4f5af6757ee1b0eed61abda3d746 with caveat that I only checked the new `LocateErrors` code to try to verify it didn't have unsafe or unexpected operations or loop forever or crash. Did not try to verify behavior corresponds to the spec. In the worst case bugs here should just affect error messages not actual decoding of addresses so this seemed ok. w0xlt: tACK 88cc481 Tree-SHA512: 9c7fe9745bc7527f80a30bd4c1e3034e16b96a02cc7f6c268f91bfad08a6965a8064fe44230aa3f87e4fa3c938f662ff4446bc682c83cb48c1a3f95cf4186688
2021-11-22Merge bitcoin/bitcoin#23557: configure.ac: remove BashismMarcoFalke
cf7292597e18ffca06b0fbf8bcd545aec387e380 configure.ac: remove Bashism (Matt Whitlock) Pull request description: Configure scripts are supposed to adhere to the POSIX shell language. The POSIX `test` builtin does not implement an `==` operator. Bash does, but not all systems have Bash installed as `/bin/sh`. In particular, many systems use the lighter-weight Dash as the default POSIX shell. Dash emits the following error when running `configure`: ``` ./configure: 39065: test: xno: unexpected operator ``` This PR removes the Bashism and restores correct operation with POSIX-compliant shells like Dash. ACKs for top commit: katesalazar: ACK cf7292597e18ffca06b0fbf8bcd545aec387e380. laanwj: Code review ACK cf7292597e18ffca06b0fbf8bcd545aec387e380 Tree-SHA512: 578c873fba52e0472baed9e024bddcf58a0e088600bd5854f3011f1f8d135773ad923bb16baefc960d17ecedee9cc980b36aaa70fb32eb9bc7de93f7fe60541d
2021-11-22Merge bitcoin/bitcoin#23521: test: refactor: dedup code by taking use of ↵MarcoFalke
`create_block` parameters e57c0eb865b4ce155b5a4a2e56e46791a47e85af test: refactor: replace OP_1/OP_TRUE magic numbers by constants (Sebastian Falbesoner) df5d783aef3e5af2d1294fc8ff9470a5dc878325 test: refactor: take use of `create_block` txlist parameter (Sebastian Falbesoner) ae9df4ef937ef77405f6edd7c13615df7b63446f test: refactor: take use of `create_block` version parameter (or use default) (Sebastian Falbesoner) Pull request description: The helper `create_block` offers two parameters `version` and `txlist` which set the `nVersion` field / extend the `vtx` array of the block, respectively. By taking use of those, we can remove a lot of code, including the recalculation of the merkle root. Both passing txs in string and `CTransaction` format is supported, i.e. we also save potential calls to `tx_from_hex`. The PR also contains another commit which replaces magic numbers for OP_TRUE/OP_1 (0x51) with the proper constant from the `script` module. Instances setting the block version of 4 explicitely after calling `create_block` are removed, as this is the default since #16333 got merged (see https://github.com/bitcoin/bitcoin/pull/23521#discussion_r751173671). ACKs for top commit: stratospher: tested ACK e57c0eb. Tree-SHA512: a56965168d36b40b84e7f334b00472b82c31e8482c9e2651c97a791abd7fee3b40ca15e943a7acafa3acf172066fdace38bb13240084b789fd6ff4f6e510e23a
2021-11-22Merge bitcoin/bitcoin#22364: wallet: Make a tr() descriptor by defaultMarcoFalke
4868c9f1b39f03adee0009cd41d96598b43e8b78 Extract Taproot internal keyid with GetKeyFromDestination (Andrew Chow) d8abbe119c71f917e0fd2e80536c1e5d979b4dc6 Mention bech32m in -addresstype and -changetype help (Andrew Chow) 8fb57845ee3844c9ba854471065109d2e409300f Create a tr() descriptor bech32m DescriptorScriptPubKeyMan by default (Andrew Chow) 54b3699862de687f782c7c52500d6a2372478355 Store pubkeys in TRDescriptor::MakeScripts (Andrew Chow) Pull request description: Make a `tr()` descriptor by default in descriptor wallets so that users will be able to make and use segwit v1 bech32m addresses. ACKs for top commit: MarcoFalke: Concept ACK 4868c9f1b39f03adee0009cd41d96598b43e8b78 Sjors: re-utACK 4868c9f1b39f03adee0009cd41d96598b43e8b78 gruve-p: ACK https://github.com/bitcoin/bitcoin/pull/22364/commits/4868c9f1b39f03adee0009cd41d96598b43e8b78 meshcollider: Concept + code review ACK 4868c9f1b39f03adee0009cd41d96598b43e8b78 Tree-SHA512: e5896e665b8d559f1d759b6582d1bb24f70d4698a57307684339d9fdcdac28ae9bc17bc946a7efec9cb35c130a95ffc36e3961a335124ec4535d77b8d00e9631
2021-11-22Merge bitcoin/bitcoin#23564: build: don't use deprecated brew package namesfanquake
4d83038714e4f099529e4372ef04f8f947c3a421 build: don't check for deprecated qt5 package (fanquake) d0fe9c2180de4ea1549e5a22d6898d688de7f4dc build: don't check for deprecated berkeley-db4 package (fanquake) Pull request description: Fixes: ```bash checking for brew... brew Warning: Use berkeley-db@4 instead of deprecated berkeley-db4 ``` on macOS. ACKs for top commit: mjdietzx: Tested ACK 4d83038714e4f099529e4372ef04f8f947c3a421 on macOS Big Sur hebasto: ACK 4d83038714e4f099529e4372ef04f8f947c3a421, I have reviewed the code and it looks OK, I agree it can be merged. Tree-SHA512: 0eeac9e1add652bd101472880c7a6e7688a6429ce98faf920cb7f572a6471ac9af755de7f34047b17ea1d26bfc4517bd0e9f403b966de0ff361bf2942eae6a41
2021-11-22Merge bitcoin/bitcoin#23348: rpc, wallet: Do not return "keypoololdest" for ↵Samuel Dobson
blank descriptor wallets ee03c782ba61993d9e95fa499546cd14cee35445 wallet: Make GetOldestKeyPoolTime return nullopt for blank wallets (Hennadii Stepanov) 3e4f069d23cd2ea5de8fa3c4b1a761ab097ad56f wallet, refactor: Make GetOldestKeyPoolTime return type std::optional (Hennadii Stepanov) Pull request description: The "keypoololdest" field in the `getwalletinfo` RPC response should be used for legacy wallets only. Th current implementation (04437ee721e66a7b76bef5ec2f88dd1efcd03b84) assumes that `CWallet::GetOldestKeyPoolTime()` always return `0` for descriptor wallets. This assumption is wrong for _blank_ descriptor wallets, when `m_spk_managers` is empty. As a result: ``` $ src/bitcoin-cli -signet -rpcwallet=211024-d-DPK getwalletinfo { "walletname": "211024-d-DPK", "walletversion": 169900, "format": "sqlite", "balance": 0.00000000, "unconfirmed_balance": 0.00000000, "immature_balance": 0.00000000, "txcount": 0, "keypoololdest": 9223372036854775807, "keypoolsize": 0, "keypoolsize_hd_internal": 0, "paytxfee": 0.00000000, "private_keys_enabled": false, "avoid_reuse": false, "scanning": false, "descriptors": true } ``` This PR fixes this issue with direct checking of the `WALLET_FLAG_DESCRIPTORS` flag. ACKs for top commit: lsilva01: re-ACK ee03c78 stratospher: ACK ee03c78. meshcollider: Code review ACK ee03c782ba61993d9e95fa499546cd14cee35445 Tree-SHA512: 9852f9f8ed5c08c07507274d7714f039bbfda66da6df65cf98f67bf11a600167d0f7f872680c95775399477f4df9ba9fce80ec0cbe0adb7f2bb33c3bd65b15df
2021-11-21Merge bitcoin-core/gui#319: Paste button in Open URI dialogHennadii Stepanov
dbde0558ce73db4c901dbaa2eddc634701fa1d0d gui: Paste button in Open URI dialog (Kristaps Kaupe) Pull request description: Picking up https://github.com/bitcoin/bitcoin/pull/17955, with some review comments addressed. ACKs for top commit: shaavan: tACK dbde055 jarolrod: ACK dbde055 promag: Tested ACK dbde0558ce73db4c901dbaa2eddc634701fa1d0d. Tree-SHA512: db47f19673aff6becd6d1f938cd2aa5dc2291d6e80150d2b99f435674330a5eae678b20e42ef327ea9b05c44925a941fc251e622c73b3585018fc7c1d245edb5
2021-11-21Merge bitcoin-core/gui#449: Restore "S" accelerator for "Start on system ↵Hennadii Stepanov
login" option 25a581419d10b3c7d99789da18afd51f2984fbc8 GUI/Options: Restore "S" accelerator for "Start on system login" option (Luke Dashjr) Pull request description: bitcoin-core/gui#416 changed the option assigned to accelerator key "S", but there's no rationale given. Best to leave it alone, and give the new option a new accelerator key. Since "R" is already taken for Reset, this shifts the new RPC server option to use "P" instead ACKs for top commit: jarolrod: ACK 25a581419d10b3c7d99789da18afd51f2984fbc8 hebasto: ACK 25a581419d10b3c7d99789da18afd51f2984fbc8, tested on Linux Mint 20.2 (Qt 5.12.8). Tree-SHA512: 2212aa32572cbcbcce78304ffcb1dcfc65f9d7e2ffd6c6a4b65e4a3ca2a8a7cc7505c28314ad46e0bc13b4e3bb3fc61e7e196356d26354f3689fad71fb688b27
2021-11-21Merge bitcoin/bitcoin#23535: PE: check for control flow instrumentationfanquake
f31d4bd21401228799d78aab70de881ea39f99f2 scripts: test for PE control flow instrumentation (fanquake) 0445e1a1a5064ed954b1d2fbae626bfcd7b5c928 build: use -fcf-protection=full when building Windows Boost in depends (fanquake) Pull request description: Addresses the Windows portion of #21888. Now that we require GCC 8+ we can unconditionally use `-fcf-protection=full` when building Boost in depends. Building Boost with this option is required so that the `main` provided to `test_bitcoin.exe` has instrumentation. Note that the presence of instrumentation does not mean it will be used, as that is determined at runtime by the CPU. From the Intel control flow enforcement documentation: > The ENDBR32 and ENDBR64 instructions will have the same effect as the NOP instruction on Intel 64 processors that do not support CET. On processors supporting CET, these instructions do not change register or flag state. This allows CET instrumented programs to execute on processors that do not support CET. Even when CET is supported and enabled, these NOP–like instructions do not affect the execution state of the program, do not cause any additional register pressure, and are minimally intrusive from power and performance perspectives. Guix Build: ```bash bash-5.1# find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum 5d41d43c44945810f92193504e8b4c1ac8eb9dfc3b19d0ab8d53bff0c8443a2a guix-build-f31d4bd21401/output/aarch64-linux-gnu/SHA256SUMS.part 8edb0e01b7bc2d646b62e4e35b1867ee940acca18a02ee609c52c4f7680de5ae guix-build-f31d4bd21401/output/aarch64-linux-gnu/bitcoin-f31d4bd21401-aarch64-linux-gnu-debug.tar.gz 1a06306f365e8329cea0eba7436085d30fe59c244a888ecb6407faf5110c57ab guix-build-f31d4bd21401/output/aarch64-linux-gnu/bitcoin-f31d4bd21401-aarch64-linux-gnu.tar.gz b5b74926ff9ff597d66b92d33926df34c3e1c6f92b863850a6fb1beea019fd6e guix-build-f31d4bd21401/output/arm-linux-gnueabihf/SHA256SUMS.part 743b5c5cec7881b032520a309ae2399ec8dadb82eb9da424aefd646f9252ff1d guix-build-f31d4bd21401/output/arm-linux-gnueabihf/bitcoin-f31d4bd21401-arm-linux-gnueabihf-debug.tar.gz 1f218a954b65b352c80922ea6b61276e8e7050ad8bdd9d7610049b87c66069e5 guix-build-f31d4bd21401/output/arm-linux-gnueabihf/bitcoin-f31d4bd21401-arm-linux-gnueabihf.tar.gz c164de32c6cc24ec247b5a8de7f1a5442369d5804a4b2a3e0d9dc4ab4e5ec401 guix-build-f31d4bd21401/output/dist-archive/bitcoin-f31d4bd21401.tar.gz feb0a055eabd6ddd2ce0dac954f5f5886044800a7535b8f78c7dfbd9c243512c guix-build-f31d4bd21401/output/powerpc64-linux-gnu/SHA256SUMS.part 0b6e877b5de7b69a5d474469d666a536cd8f6f6e865230a7763f62426357ae91 guix-build-f31d4bd21401/output/powerpc64-linux-gnu/bitcoin-f31d4bd21401-powerpc64-linux-gnu-debug.tar.gz fb38bcfd319af1e8bace03f240b32592940ac3efe15d23fd39353f36f9ae3838 guix-build-f31d4bd21401/output/powerpc64-linux-gnu/bitcoin-f31d4bd21401-powerpc64-linux-gnu.tar.gz 15fffe69f33297ef30a8b2eb8bdef8564f030920bed6d5ff56d6e7b8bef9c199 guix-build-f31d4bd21401/output/powerpc64le-linux-gnu/SHA256SUMS.part f847b92c7c098bf8a4f6c84714270c173d4323e2d3025dd8f4444ee921a0bdd0 guix-build-f31d4bd21401/output/powerpc64le-linux-gnu/bitcoin-f31d4bd21401-powerpc64le-linux-gnu-debug.tar.gz 9b8b6e12dd8a1a3ba0f5522c2a22f2bd60d5473880fa22d42e91364a08e48396 guix-build-f31d4bd21401/output/powerpc64le-linux-gnu/bitcoin-f31d4bd21401-powerpc64le-linux-gnu.tar.gz 6f0f3b603b35c751a364b77ca94477085cf54a1c5d811dd3407dd1b86b2e3c64 guix-build-f31d4bd21401/output/riscv64-linux-gnu/SHA256SUMS.part 69f1a93a8d698e68d8baf81a6c871f9eab0446ec352f7709971293b0b898f128 guix-build-f31d4bd21401/output/riscv64-linux-gnu/bitcoin-f31d4bd21401-riscv64-linux-gnu-debug.tar.gz b71d415f30a893fada9d6609fab309a3c099716462c795e444bf49bd8631ea53 guix-build-f31d4bd21401/output/riscv64-linux-gnu/bitcoin-f31d4bd21401-riscv64-linux-gnu.tar.gz 6f842bc5483e867b8d1c769d1faa19b9f08bc0fa28d027fe0fac108858a4926e guix-build-f31d4bd21401/output/x86_64-apple-darwin19/SHA256SUMS.part a9a43aa4aade18bf606493009229ad3239af7365594ef60a0c39789d870f159d guix-build-f31d4bd21401/output/x86_64-apple-darwin19/bitcoin-f31d4bd21401-osx-unsigned.dmg 26891e7d258ec8a85344a0a888fd4159378d747a2a77fb8d9e5655f1a3ad4aee guix-build-f31d4bd21401/output/x86_64-apple-darwin19/bitcoin-f31d4bd21401-osx-unsigned.tar.gz a2578799da61a3f1b6cd047aa5641e050de2e810162ec8596931cec12d1cbb56 guix-build-f31d4bd21401/output/x86_64-apple-darwin19/bitcoin-f31d4bd21401-osx64.tar.gz 571803809f358ed5ef1f1ed6b6266b54bd33b0e6308c53ddae967e53af930a46 guix-build-f31d4bd21401/output/x86_64-linux-gnu/SHA256SUMS.part ea45499e8d2a2f0791f29732a5f169fb97525d6d8adcdfa1c160e950944ce8fe guix-build-f31d4bd21401/output/x86_64-linux-gnu/bitcoin-f31d4bd21401-x86_64-linux-gnu-debug.tar.gz ba5b63e64267d7685de77e3063e24659f223d4b4c42d43f42fb15e716afcfe78 guix-build-f31d4bd21401/output/x86_64-linux-gnu/bitcoin-f31d4bd21401-x86_64-linux-gnu.tar.gz b4ba9d8cfd6999c0039890330afab5d5b1faf5ded33dcbebc5e73d8dae308246 guix-build-f31d4bd21401/output/x86_64-w64-mingw32/SHA256SUMS.part 3aa5cf722341b79aca78ea11fe4e65e0c642997b0214d3893a86a2e808afbe87 guix-build-f31d4bd21401/output/x86_64-w64-mingw32/bitcoin-f31d4bd21401-win-unsigned.tar.gz b48402235751f15f09fad64b7bd42f851a64a9744e47ed6888b4e9754fb0d3d9 guix-build-f31d4bd21401/output/x86_64-w64-mingw32/bitcoin-f31d4bd21401-win64-debug.zip e33183aa7316f399621fd7b1c258d850294cdaaebb505364410a399467c0943b guix-build-f31d4bd21401/output/x86_64-w64-mingw32/bitcoin-f31d4bd21401-win64-setup-unsigned.exe 4baba568a8a93d04086055df512d680c8365d42779123c56bccee41e4de33e5e guix-build-f31d4bd21401/output/x86_64-w64-mingw32/bitcoin-f31d4bd21401-win64.zip ``` ACKs for top commit: laanwj: Code review ACK f31d4bd21401228799d78aab70de881ea39f99f2 Tree-SHA512: fbed1fa4e9317677e24ebc6f9d95ef791e2182ad709b3629ed35e373d9f8d26bbf3dee6f78a4bdf3f7ae2c05fe5fd744c0753298ee1387d9b0c719a09717b522
2021-11-21build: don't check for deprecated qt5 packagefanquake
Use qt@5 instead.
2021-11-21build: don't check for deprecated berkeley-db4 packagefanquake
Fixes: ```bash checking for brew... brew Warning: Use berkeley-db@4 instead of deprecated berkeley-db4 ```
2021-11-21Merge bitcoin/bitcoin#23558: test: run rpc-generateblock.py even with wallet ↵MarcoFalke
disabled 1e86ff794108d6ef033ceba918b45c5e78c95c62 test: run rpc-generateblock.py even with wallet disabled (Darius Parvin) Pull request description: Run rpc_generateblock.py test even when the wallet is disabled, as discussed in #20078. This PR picked up from where #20808 left off, started by @ nginocchio. Since then, there have been many improvements to `MiniWallet`, making this PR more straightforward. L23 makes use of `MiniWallet.rescan_utxos()` to add the pre-mined block utxos (when `self.setup_clean_chain` is not set to `True`), rather than generating new blocks during the test. ACKs for top commit: mjdietzx: Tested ACK 1e86ff794108d6ef033ceba918b45c5e78c95c62 Tree-SHA512: 4285f61516dd53a08004eeea26d58f45b4c1c67f5ca4c94ff1bc9fc7e50f486de2e033a8b4aaf67cb4c33d73aa929362e18dc75d5c7951cbf58120b5fb1de555
2021-11-21Merge bitcoin/bitcoin#23555: util: Add missing fstatfs to syscall sandboxfanquake
fade4b3aca5b78b6a8021289433616df9d06a87f util: Add missing fstatfs to syscall sandbox (MarcoFalke) Pull request description: Looks like this is used by boost 1.77 in `./test/functional/wallet_backup.py --descriptors`. Fixes https://github.com/bitcoin/bitcoin/issues/23554 ACKs for top commit: fanquake: ACK fade4b3aca5b78b6a8021289433616df9d06a87f - reproduced the failure on Tumbleweed: Tree-SHA512: cd7381e87c7cb4596da0b9e36c8776a3ef19f5aeb29ee9db1867657c4c1f071485ffea0fba0af950f10a16a8bdb0a0c70ffcc5be802e82d60882e00f7d2009ac
2021-11-20test: run rpc-generateblock.py even with wallet disabledDarius Parvin
2021-11-20Merge bitcoin/bitcoin#23553: test: Remove sanitizer suppression ↵fanquake
implicit-signed-integer-truncation:netaddress.cpp fae5fec0fec851568a72724000193b2747c30414 test: Remove sanitizer suppression implicit-signed-integer-truncation:netaddress.cpp (MarcoFalke) Pull request description: This reverts commit fa865287e5f35e0a376785834e966dd202d2959e. This was fixed in commit efd6f904c78769ad2e93c1f1de43014d284e7561. ACKs for top commit: vasild: ACK fae5fec0fec851568a72724000193b2747c30414 Tree-SHA512: 3bebf1babd5c68cbb2506bcab9b8e9ffed8697213cf66190484748741f05c59b847a103be171360f7fd6ddb57dfd86ed34a123f72860b76e533ed46bb53a4852
2021-11-19configure.ac: remove BashismMatt Whitlock
2021-11-19util: Add missing fstatfs to syscall sandboxMarcoFalke
2021-11-19test: Remove sanitizer suppression ↵MarcoFalke
implicit-signed-integer-truncation:netaddress.cpp This reverts commit fa865287e5f35e0a376785834e966dd202d2959e. This was fixed in commit efd6f904c78769ad2e93c1f1de43014d284e7561.
2021-11-18Merge bitcoin/bitcoin#23540: test: add decodescript RPC test for P2TR output ↵MarcoFalke
script 83f6c0f9ef3a1962be02db479ddf87cb22b8c14b test: add decodescript RPC test for P2TR output type (Sebastian Falbesoner) 099c6957de4246669b1dddba10561e802f5e8a01 test: check for decodescript RPC 'type' results (Sebastian Falbesoner) 0d43525c61b09a283bc38b96f3827a95be976aba test: add logging to rpc_decodescript.py (Sebastian Falbesoner) Pull request description: This PR adds a functional sub-test for calling `decodescript` with a P2TR / segwit v1 output script (`OP_1 <32-bytes push>`), expecting to return "witness_v1_taproot" as `type` result. In the first two commits, the test `rpc_decodescript.py` is also improved by adding logging (plus getting rid of the enumerations) and also adding missing checks `type` result checks for all other output script types. ACKs for top commit: MarcoFalke: ACK 83f6c0f9ef3a1962be02db479ddf87cb22b8c14b Tree-SHA512: 5fbfa693f711f55022edbc26109b076610ba248bef5282822656f5a2289636a5da6e2c1a4d8ab16a599af5701dafb3452e8be653d0e5f09e59ed87b8144d46ef
2021-11-18Merge bitcoin/bitcoin#22981: doc: Fix incorrect C++ named argsfanquake
fac49470ca36ff944a613f4358386bf8e0967427 doc: Fix incorrect C++ named args (MarcoFalke) Pull request description: Incorrect named args are source of bugs, like #22979. Fix that by correcting them and adjust the format, so that clang-tidy can check it. ACKs for top commit: fanquake: ACK fac49470ca36ff944a613f4358386bf8e0967427 - `run-clang-tidy` works for me now. Tree-SHA512: 2694e17a1586394baf30bbc479a913e4bad361221e8470b8739caf30aacea736befc73820f3fe56f6207d9f5d969323278d43a647f58c3497e8e44cad79f8934
2021-11-18test: add decodescript RPC test for P2TR output typeSebastian Falbesoner
2021-11-18test: check for decodescript RPC 'type' resultsSebastian Falbesoner
2021-11-17test: add logging to rpc_decodescript.pySebastian Falbesoner
Also remove the enumerations ("1)", "2)"...) from the test cases as those potentially hinder maintainability; e.g. if a new case in inserted in-between, all the remaining enumerations would need to be adapted.
2021-11-17Merge bitcoin/bitcoin#22881: doc: provide context for ↵W. J. van der Laan
CNetAddr::UnserializeV1Array() and span.h with lifetimebound 33c6a208a9e2512a174c99c224a933a59f091bc2 span, doc: provide span.h context and explain lifetimebound definition (Jon Atack) d14395bc5db55331115fa3c1e71741d1de7f092f net, doc: provide context for UnserializeV1Array() (Jon Atack) Pull request description: Add contextual documentation for developers and future readers of the code regarding - CNetAddr::UnserializeV1Array (see #22140) - Span and why it defines Clang lifetimebound locally rather than using the one in attributes.h ACKs for top commit: laanwj: Documentation review ACK 33c6a208a9e2512a174c99c224a933a59f091bc2 Tree-SHA512: cb8e6a6c23b36c9ef7499257e97c5378ec895bb9122b79b63b572d9721a1ae6ce6c0be7ad61bdf976c255527ae750fc9ff4b3e03c07c6c797d14dbc82ea9fb3a
2021-11-17test: refactor: replace OP_1/OP_TRUE magic numbers by constantsSebastian Falbesoner
2021-11-17test: refactor: take use of `create_block` txlist parameterSebastian Falbesoner
Passing a list of transactions `txlist` to `create_block` appends them to the block, hence we don't need to do that manually anymore. The merkle root calculation can also be removed, since this is done in the end of the helper.
2021-11-17test: refactor: take use of `create_block` version parameter (or use default)Sebastian Falbesoner
2021-11-17Merge bitcoin/bitcoin#23501: test: various feature_nulldummy.py improvementsW. J. van der Laan
f1ed30451f04af4b45b6368305722f715dcbf4fb test: refactor: simplify `block_submit` in feature_nulldummy.py (Sebastian Falbesoner) 5ba9f1ff598e30a70407f331fabcbe9b4e17315a test: refactor: rename NULLDUMMY-invalidation helper (Sebastian Falbesoner) e1d4a128e8c71a741c2435f949c1427929e151b7 test: simplify and document NULLDUMMY-invalidation helper (Sebastian Falbesoner) Pull request description: This PR improves the functional test `feature_nulldummy.py` by simplifying the helpers `trueDummy` (renamed to `invalidate_nulldummy_tx`) and `block_submit`. Details can be found in the commit messages. ACKs for top commit: laanwj: Code review ACK f1ed30451f04af4b45b6368305722f715dcbf4fb Tree-SHA512: ad227b31936f53c5dbded823643bced296d86f40b90f2c144a9857db3d00544f9ad5bbce4c7e84b6ece25e78e95c19aafb1d8fb31e610dcd5cbf3da63190de85
2021-11-17doc: Fix incorrect C++ named argsMarcoFalke
2021-11-17scripts: test for PE control flow instrumentationfanquake
2021-11-17build: use -fcf-protection=full when building Windows Boost in dependsfanquake
2021-11-17Merge bitcoin/bitcoin#23525: doc: Pick better named args for ↵MarcoFalke
MutableTransactionSignatureCreator fa54a408096244ff83a3e60e5fb7bfa6aecabe6b doc: Pick better named args for MutableTransactionSignatureCreator (MarcoFalke) Pull request description: Argument names of `nInIn` are not helpful. ACKs for top commit: shaavan: ACK fa54a408096244ff83a3e60e5fb7bfa6aecabe6b achow101: ACK fa54a408096244ff83a3e60e5fb7bfa6aecabe6b Tree-SHA512: 53a38588fdee07d7896a66339c1c2c2355638db95a95cad9844b60cd34e935bb726ab64d0c42dc414beb35375e56440f8a9cb3fbf5aec55c1eed066b7acad8c8
2021-11-17Merge bitcoin/bitcoin#23496: fuzz: Add minisketch fuzz testMarcoFalke
fa74d4530615cfa02cf32a16fab6b13908266e6f fuzz: Add minisketch fuzz test (MarcoFalke) Pull request description: ACKs for top commit: mjdietzx: re-ACK fa74d45 sipa: utACK fa74d4530615cfa02cf32a16fab6b13908266e6f Tree-SHA512: 3d30095c85032139c37c7a2811dd417441a5105cb70af8250000d7b56aeda1e8fab5e65e683fb49d513ef40a81da3967a8a9a70caf40f56cef1dd96c6d4a05f6
2021-11-17Merge bitcoin/bitcoin#23522: Improve fs::PathToString documentationfanquake
9b575f1c734c052b695ce921fb6412b22c18fdb4 Improve fs::PathToString documentation (Russell Yanofsky) Pull request description: Add a developer note about avoiding `fs::PathToString` in RPCs, and improve some other `fs::PathToString` comments. Developer note might have been useful in two recent review comments: - https://github.com/bitcoin/bitcoin/pull/23398#discussion_r741585271 - https://github.com/bitcoin/bitcoin/pull/23155#discussion_r749824259 ACKs for top commit: laanwj: Documentation review ACK 9b575f1c734c052b695ce921fb6412b22c18fdb4 jamesob: ACK https://github.com/bitcoin/bitcoin/pull/23522/commits/9b575f1c734c052b695ce921fb6412b22c18fdb4 prayank23: ACK https://github.com/bitcoin/bitcoin/pull/23522/commits/9b575f1c734c052b695ce921fb6412b22c18fdb4 hebasto: ACK 9b575f1c734c052b695ce921fb6412b22c18fdb4 shaavan: ACK 9b575f1c734c052b695ce921fb6412b22c18fdb4 Tree-SHA512: b8b3ecb6208c3897241e4f24dcec64fe7cf091bc79388862cf5f4b315cb8e804939981c4bed4c81dbff99ec9f750bad99015d0f04890704ac9df63c2a6719b6d
2021-11-17Merge bitcoin/bitcoin#23520: ci: Rework ci task names (take 3)fanquake
fa459220c7b7a56bcd5426f977cbca17c7af1a5e ci: Rework ci task names (MarcoFalke) Pull request description: It is hard to find a specific sanitizer task in less than a second. Fix that by mentioning the sanitizer first in the task name. Less useful information (with or without depends) follows the sanitizer. Follow up to: * https://github.com/bitcoin/bitcoin/pull/20545 * https://github.com/bitcoin/bitcoin/pull/20572 ACKs for top commit: fanquake: ACK fa459220c7b7a56bcd5426f977cbca17c7af1a5e Tree-SHA512: 87165caff4749cc415cef6ae36cac63fa448cec0a1c92cd6b691a0fbd22902466c8d861b0d922c3331e4bf36dbb4eba86d745ef135f391f7ff81461fe5159e05
2021-11-17Merge bitcoin/bitcoin#23511: release: require glibc 2.18+fanquake
5b93e65f6abfd174a56cf50c952ca5d5c3833859 build: remove D__STDC_FORMAT_MACROS from CPPFLAGS (fanquake) dbfca4a815d2dbef69f3b634c24b875bc1d22afc build: require glibc 2.18+ for release builds (fanquake) Pull request description: This increases our runtime glibc requirement from 2.17 to 2.18. From what I can see the only platform this drops release support for is CentOS 7, which reached the end of it's "full update" support at the [end of 2020](https://wiki.centos.org/About/Product). It does receive maintenance updates until 2024, however I don't think supporting glibc 2.17 until 2024 is realistic. It was mentioned in #22405 that our 2.17 requirement could be a bit excessive, and I tend to agree, however without a good reason to require an even newer version, I think a move from 2.17 -> 2.18 is sufficient for now. That means we get a glibc with "proper" support for `thread_local` (see below), as well as avoid having to patch dependencies to retain glibc compatibility (see #23489). Note that anyone wanting to self-compile and target a glibc 2.17 runtime could currently build with `--disable-threadlocal`. However we wouldn't make any guarantees on how long that workaround might exist for. glibc 2.18 was released in August 2013: https://sourceware.org/legacy-ml/libc-alpha/2013-08/msg00160.html. > Add support for calling C++11 thread_local object destructors on thread and program exit. This needs compiler support for offloading C++11 destructor calls to glibc. The last time we increased our runtime glibc requirement for release builds was in #17538 (0.20 release), where we moved from a 2.11 requirement to 2.17. Guix builds: ```bash bash-5.1# find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum d21c7429dbaca3a5260ec424036e19e287c553adb2229894e59eb9b60bc2eba5 guix-build-5b93e65f6abf/output/aarch64-linux-gnu/SHA256SUMS.part 5d8e7d8b5016b694cb23bcee202819a7db63ea033e5a21c99895981f7b508184 guix-build-5b93e65f6abf/output/aarch64-linux-gnu/bitcoin-5b93e65f6abf-aarch64-linux-gnu-debug.tar.gz db4e7b6af7d4dfa246e604f5548fd31e1ad51b810b24789f42362cd7be41cad3 guix-build-5b93e65f6abf/output/aarch64-linux-gnu/bitcoin-5b93e65f6abf-aarch64-linux-gnu.tar.gz db97badc0ad969bcb13620fc7f087d78622f3217ee792fc28406cc083a25bcbe guix-build-5b93e65f6abf/output/arm-linux-gnueabihf/SHA256SUMS.part 58a6910362ffacd1c7df27033c25cb25f24a317f3ca909f39bb20ac552b021db guix-build-5b93e65f6abf/output/arm-linux-gnueabihf/bitcoin-5b93e65f6abf-arm-linux-gnueabihf-debug.tar.gz 9d99fd89de4798116bfe83ff1e17e10c019b3e30d2d39fd70a5bef7c937bf6d5 guix-build-5b93e65f6abf/output/arm-linux-gnueabihf/bitcoin-5b93e65f6abf-arm-linux-gnueabihf.tar.gz 254e9149d00b0e50af1c80697326ac69ab823b4e845c19f059cc229f724fbb07 guix-build-5b93e65f6abf/output/dist-archive/bitcoin-5b93e65f6abf.tar.gz cc39947931b65960f1d32c3d53d623108a78af4bf2b3ac34b65a4c30de5feb08 guix-build-5b93e65f6abf/output/powerpc64-linux-gnu/SHA256SUMS.part 8763efeaaeea17bc526bccb050bd9da1ad2f22c7d8ec912ec0db68f4de7d4b88 guix-build-5b93e65f6abf/output/powerpc64-linux-gnu/bitcoin-5b93e65f6abf-powerpc64-linux-gnu-debug.tar.gz de8984c519c6afc7d43e28c11f7a38b0c5c2eec676bf566448cfd0e4f6accac8 guix-build-5b93e65f6abf/output/powerpc64-linux-gnu/bitcoin-5b93e65f6abf-powerpc64-linux-gnu.tar.gz ba73422ca3da7670435018b515bb2f8917dd23d47adb7989643b324bb47bcbf4 guix-build-5b93e65f6abf/output/powerpc64le-linux-gnu/SHA256SUMS.part 65a66250139f2379e8ff79abab0448c2a395b77bbb9f18f9ba51d2c83c598ce4 guix-build-5b93e65f6abf/output/powerpc64le-linux-gnu/bitcoin-5b93e65f6abf-powerpc64le-linux-gnu-debug.tar.gz 40e8de24f4e18af0473886cdedbc7aed2797264f8f4ed871547dd7d6e678efac guix-build-5b93e65f6abf/output/powerpc64le-linux-gnu/bitcoin-5b93e65f6abf-powerpc64le-linux-gnu.tar.gz a42d20fd81325171f19b11f2cdf76da1d129146dfbda744125f579bb6f11a632 guix-build-5b93e65f6abf/output/riscv64-linux-gnu/SHA256SUMS.part 581379b13295665ea709f8bda7ff606a4a1d4d536f6578a22ea2c64aeea62d62 guix-build-5b93e65f6abf/output/riscv64-linux-gnu/bitcoin-5b93e65f6abf-riscv64-linux-gnu-debug.tar.gz 6dc6c6ac6116fda4596c6f577b6ecef65c552467222072e629562892a0363431 guix-build-5b93e65f6abf/output/riscv64-linux-gnu/bitcoin-5b93e65f6abf-riscv64-linux-gnu.tar.gz ef4ee73071bd1a4d610281781eb2409dd8fe5c976ba347914e97b5cb49292db4 guix-build-5b93e65f6abf/output/x86_64-apple-darwin19/SHA256SUMS.part c4ea3b83c7debaf2d5a5cced6408445c2cb22177b0b368df74a72612a9105600 guix-build-5b93e65f6abf/output/x86_64-apple-darwin19/bitcoin-5b93e65f6abf-osx-unsigned.dmg e9c53a43f7f1c105f5aa8d0f8163a773a5b4a16c420ffdb2e3d0a5aab89a275f guix-build-5b93e65f6abf/output/x86_64-apple-darwin19/bitcoin-5b93e65f6abf-osx-unsigned.tar.gz f6e67def9519895ce2bf0893dbc4279e77e61d242b64ffd7423f46439baa9642 guix-build-5b93e65f6abf/output/x86_64-apple-darwin19/bitcoin-5b93e65f6abf-osx64.tar.gz 2dac0468cda5ddd5e2aaf632228bbbde1fe98f6119c1cc0e91ab36bb7924b587 guix-build-5b93e65f6abf/output/x86_64-linux-gnu/SHA256SUMS.part 5fbb6cd4a951dc8f7d9d3ec80b8dcbce4d6cd74a4a8c532ac30a2646ca4337a5 guix-build-5b93e65f6abf/output/x86_64-linux-gnu/bitcoin-5b93e65f6abf-x86_64-linux-gnu-debug.tar.gz 2942ef6a2e67508a87566ebbea0bbbe922962fbc90df9a73d4a328953171c633 guix-build-5b93e65f6abf/output/x86_64-linux-gnu/bitcoin-5b93e65f6abf-x86_64-linux-gnu.tar.gz 0d4c30d286d040126b8418a7c7e16d94cf8fe4397f4b71250a8502bf0aa65637 guix-build-5b93e65f6abf/output/x86_64-w64-mingw32/SHA256SUMS.part 53b7f7b4243f5b9f02f91407569392ea672bb585227696cc0b63b5bc10866d8d guix-build-5b93e65f6abf/output/x86_64-w64-mingw32/bitcoin-5b93e65f6abf-win-unsigned.tar.gz 7e7c252dcfe406f47caa9593b4009d969447859f4a665a02ef4718edaf170311 guix-build-5b93e65f6abf/output/x86_64-w64-mingw32/bitcoin-5b93e65f6abf-win64-debug.zip 9cbc0780d42d6b4779ad989670757323a37151c03b4797e520a74b642b53e3dd guix-build-5b93e65f6abf/output/x86_64-w64-mingw32/bitcoin-5b93e65f6abf-win64-setup-unsigned.exe a302b35629ac3bb21ae86905dfe521cdccd98a7e35868e12a081152adcf89bf5 guix-build-5b93e65f6abf/output/x86_64-w64-mingw32/bitcoin-5b93e65f6abf-win64.zip ``` ACKs for top commit: laanwj: ACK ACK ACK ACK ACK 5b93e65f6abfd174a56cf50c952ca5d5c3833859 hebasto: re-ACK 5b93e65f6abfd174a56cf50c952ca5d5c3833859, only suggested changes since my [previous](https://github.com/bitcoin/bitcoin/pull/23511#pullrequestreview-806276081) review. Tree-SHA512: e9c57b11881204ee7c4e3d474d64722bc1bd4409cf8511f2914360205158946a327aa7234bbcbae40c43c0373954d0571c28583d90c280dca53614372891ddde
2021-11-17Merge bitcoin/bitcoin#23524: doc: Fix typos in endif header commentsfanquake
fa44237d76b66b6664870c3927b65a0ef89022e4 doc: Fix typos in endif header comments (MarcoFalke) Pull request description: Some of the endif header comments have typos in them (ZMRRPC_H), or are from a different file, or are inconsistently formatted. Fix all and adjust the linter. ACKs for top commit: hebasto: ACK fa44237d76b66b6664870c3927b65a0ef89022e4 shaavan: ACK fa44237d76b66b6664870c3927b65a0ef89022e4 Tree-SHA512: 84b8581d3806b816763f66113451d1501a71bf1060b601c2f456a3278d700c829aa67c3c014d611b6eed0f80cb2d968d789b288f5f17cf16b416aa5b2eceffdb
2021-11-16fuzz: Add minisketch fuzz testMarcoFalke
2021-11-16Extract Taproot internal keyid with GetKeyFromDestinationAndrew Chow
2021-11-16Mention bech32m in -addresstype and -changetype helpAndrew Chow
2021-11-16Create a tr() descriptor bech32m DescriptorScriptPubKeyMan by defaultAndrew Chow