890397c2340b1cf3111dcdf9e058718f1b8de49d Use latest signapple commit (Andrew Chow)
a17041e15535347f41d4b5511fb2643594b431f3 gitian: Remove codesign_allocate and pagestuff from MacOS build (Andrew Chow)
9c7c0e640121f48fa2ce5518de1ed63390df3fbd gitian: use signapple to create the MacOS code signature (Andrew Chow)
f8344856d6e87dfff487698f74c799678e6c5960 gitian: use signapple to apply the MacOS code signature (Andrew Chow)
a2650f6495206cc9624c140d394e8ed7eaff5dbc gitian: install signapple in gitian-osx-signer.yml (Andrew Chow)
Pull request description:
Backport of #20880 and #22190
ACKs for top commit:
MarcoFalke:
cherry-pick-only ACK 890397c2340b1cf3111dcdf9e058718f1b8de49d 💢
Tree-SHA512: 7467f664f1673152118c19f6cc31dabf05a34f37d7ea0e687ff5f740f9dfa5aab57a4b90d24c0cbb919830e6ab2dd131af147789576fcd9d3d444e7d61bd14ea
56baeba2f3509481879660c9eed4cbd6afd09d84 0.20: Update translations after closing 0.20.x on Transifex (Hennadii Stepanov)
Pull request description:
See [Release schedule for 22.0](https://github.com/bitcoin/bitcoin/issues/20851).
ACKs for top commit:
laanwj:
ACK 56baeba2f3509481879660c9eed4cbd6afd09d84
Tree-SHA512: 31a303393e3c294a96e00af6ebae5644c84ac208d1339f6cc0bf9ccaaaa886d6fb623e470f983d582375285ae8dc49f3588bb30742f8c1e4c11f493c6d0a5e11
This also includes updates to the Python test framework implementation,
test vectors, and release notes.
Github-Pull: #20861
Rebased-From: fe5e495c31de47b0ec732b943db11fe345d874af
19bcf178485c7d2c353581e514582bd569c66c00 [doc] Add permissions to the getpeerinfo help. (Amiti Uttarwar)
d0c75abb288afdd295c4aa9d7e747f13d5926327 doc: Extract net permissions doc (MarcoFalke)
bcb655d7d19de9997c5acb4b25a7bf59f4882851 rpc: Add missing description of vout in getrawtransaction help text (Ben Carman)
Pull request description:
ACKs for top commit:
benthecarman:
ACK 19bcf17
fanquake:
ACK 19bcf178485c7d2c353581e514582bd569c66c00
Tree-SHA512: 5c0e500d44adba7707dddccee9a956957ff1771439a0aea9841f01571ac21028531b8e0276a4b7dee2588b1828853bd227a64de1590204472470cd43268a5368
This field was already being returned, but the RPCHelpMan did not indicate
this. So, this PR updates the help text to match.
Github-Pull: #20756
Rebased-From: 667d203687708390bc0f43f2dd3f4ab427b88338
6a326cf66f04948ffe729e5540a69e159a7840ad tests: Test that a fully signed tx given to signrawtx is unchanged (Andrew Chow)
2d48d7dcfb93eeec36dd6f5cbad289b89ec69324 Simplify and fix CWallet::SignTransaction (Andrew Chow)
Pull request description:
Backport `CWallet::SignTransaction` from master which is simpler and not broken.
Previously `CWallet::SignTransaction` would return false for a fully signed transaction. This is a regression and obviously incorrect - a fully signed transaction is always complete. This occurs because `CWallet::SignTransaction` would iterate through each input and skip any further checks if the input was already signed. It would then end up falling through to the `return false` catch-all thus erroneously saying a fully signed transaction is incomplete. The change to attempting to use all `ScriptPubKeyMan`s fixes this problem since the `LegacyScriptPubKeyMan` (the only spkm implemented in 0.20) will verify inputs during its signing attempt and correctly return that it is complete when the inputs verify. Thus a fully signed transaction will be correctly identified as complete, `LegacyScriptPubKeyMan::SignTranaction` will return true, and so `CWallet::Transaction` will return true too.
Note that this is not a backport of any specific commit. Rather it is the end result of the changes we have made to this function in master.
Fixes#19737
ACKs for top commit:
fjahr:
Code review ACK 6a326cf66f04948ffe729e5540a69e159a7840ad
MarcoFalke:
re-ACK 6a326cf66f 👓
Tree-SHA512: 7b8e04cfc264de01a2de08a99477c1a110fa0965dcbd4305bf4632a165f28b090746789195f5cb584eb6d85e27d4801a09d2dad28e508d7898c7c088e771812b
Tests that a fully signed transaction given to
signrawtransactionwithwallet is both unchanged and marked as complete.
This tests for a regression in 0.20 where the transaction would not be
marked as complete.
Github-Pull: #20562
Rebased-From: 773c42b265fb2212b5cb8785b7226a206d063543
fa074d2c7b9c3d34876c428d12672a505d4ce4eb Revert "Merge #19606: Backport wtxid relay to v0.20" (MarcoFalke)
Pull request description:
The 0.20 branch has bugfixes that should be released. However, a tag can currently not be created because the latest merge introduced a regression and is not a bugfix (https://github.com/bitcoin/bitcoin/pull/20317#issuecomment-723754509, https://github.com/bitcoin/bitcoin/pull/20317#issuecomment-727624755).
Fix that by reverting the last merge. Can be reviewed by re-doing the revert or calling `git diff HEAD HEAD~2 | wc` and observing an empty diff.
ACKs for top commit:
laanwj:
Code review ACK fa074d2c7b9c3d34876c428d12672a505d4ce4eb
Tree-SHA512: 1a1314b9bb85f44696dc307845e80292998d6c9c000e7386c48405e74400d9cd22be6996e555f198da917e04024a1c8e609dfd830759a27fe4070168b0d272bb
7566af419f3e7060152ae062f5a578f543a16a5a doc: Update data directory path comments (Hennadii Stepanov)
09261de6edd7f9fd876607fef350995052da63ba util: Add StripRedundantLastElementsOfPath function (Hennadii Stepanov)
8ef0dace867dbdc1b1dead98f0d69f64eb886d67 macOS deploy: use the new plistlib API (Jonas Schnelli)
314e79581f05881284ed9dfb661754830ed54833 build: fix mutex detection when building bdb on macOS (fanquake)
1f67a30e8374951997af924293c60eff56ae39ed random: fixes read buffer resizing in RandAddSeedPerfmon (Ethan Heilman)
6113b547f4cce8be732bf45687a74eccf4a3abfc net: Send post-verack handshake messages at most once (MarcoFalke)
bdf15d0d5d12eb33594b90ebb48366ea7bb5c3d9 rpc: Adjust witness-tx deserialize error message (MarcoFalke)
731502a18385276887a57ad8574fdbaef976920d rpc: Properly deserialize txs with witness before signing (MarcoFalke)
ee0082b886264fcddd73c5bb7c41ba8316527b9c Avoid the use of abs64 in timedata (Pieter Wuille)
05bd0c220aa0f4cb6202dd19d3164ba2e7cb015e docs: Correct description for getblockstats's txs field (Nadav Ivgi)
Pull request description:
Backports the following PRs to the 0.20 branch:
* https://github.com/bitcoin/bitcoin/pull/19777 - docs: Correct description for getblockstats's txs field
* https://github.com/bitcoin/bitcoin/pull/19836 - rpc: Properly deserialize txs with witness before signing
* https://github.com/bitcoin/bitcoin/pull/20080 - Strip any trailing `/` in -datadir and -blocksdir paths
* https://github.com/bitcoin/bitcoin/pull/20082 - [bugfix] random: fixes read buffer to use min rather than max
* https://github.com/bitcoin/bitcoin/pull/20141 - Avoid the use of abs64 in timedata
* https://github.com/bitcoin/bitcoin/pull/20146 - net: Send post-verack handshake messages at most once
* https://github.com/bitcoin/bitcoin/pull/20195 - build: fix mutex detection when building bdb on macOS
* https://github.com/bitcoin/bitcoin/pull/20298 - macOS deploy: use the new plistlib API
Will add additional commits as they become available.
ACKs for top commit:
MarcoFalke:
review ACK 7566af419f3e7060152ae062f5a578f543a16a5a 🗡
Tree-SHA512: add6bb978313c12c3e07bc232636ae9d1ab0edd0b816705c5c70eeb1cc04097165fd5e29d60c706886943ceb1f749a422020766b4aa2d23be51e9f839157a4bb
d4a1ee8f1d4c46ab726be83965bd86bace2ec1ec Further improve comments around recentRejects (Suhas Daftuar)
f082a13ab756a378b260711a30d363f833a2306a Disconnect peers sending wtxidrelay message after VERACK (Suhas Daftuar)
22effa51a77a8b8c72ba3525cb08dd0cf8464715 test: Use wtxid relay generally in functional tests (Fabian Jahr)
e4816819630d1e94469ca5499361e0cd2c9ac7c2 test: Add tests for wtxid tx relay in segwit test (Fabian Jahr)
6be398b6fb7a7d5c6c1fe6d74a0700b7ff93674e test: Update test framework p2p protocol version to 70016 (Fabian Jahr)
e364b2a2d879e8d30ca9dbc578e4d169b41eb227 Rename AddInventoryKnown() to AddKnownTx() (Suhas Daftuar)
879a3cf2c2367d51310204d21030f3b218582c30 Make TX_WITNESS_STRIPPED its own rejection reason (Suhas Daftuar)
c1d6a1003d601ec4ff7d9507563254b29868182f Delay getdata requests from peers using txid-based relay (Suhas Daftuar)
181ffadd162a84551b3518de77b5dcc08c712425 Add p2p message "wtxidrelay" (Suhas Daftuar)
93826726e76730b061ec4c91d69b2b34ebf98ec9 ignore non-wtxidrelay compliant invs (Anthony Towns)
2599277e9cb51e3619582978cba9bf03325c0cb6 Add support for tx-relay via wtxid (Suhas Daftuar)
be1b7a8916fdd060db56846ad5dcec0894aae314 Add wtxids to recentRejects (Suhas Daftuar)
73845211d16ad1558d84c966ae18e3507fa7dea6 Add wtxids of confirmed transactions to bloom filter (Suhas Daftuar)
606755b840b1560e4f92c9252fa4cab6eacabdd3 Add wtxid-index to orphan map (Suhas Daftuar)
36549376740d28159a5834ecf4ed9eeeeef6715d Add a wtxid-index to mapRelay (Suhas Daftuar)
f7833b5bd894aca2d8820402f4a500d71374ea0e Just pass a hash to AddInventoryKnown (Suhas Daftuar)
4df3d139b7261de33c070691f76a535b8b17433a Add a wtxid-index to the mempool (Suhas Daftuar)
Pull request description:
We want wtxid relay to be widely deployed before taproot activation, so it should be backported to v0.20.
The main difference from #18044 is removing the changes to the unbroadcast set (which was only added post-v0.20). The rest is mostly minor rebase conflicts (eg connman changed from a pointer to a reference in master, etc).
We'll also want to backport #19569 after that's merged.
ACKs for top commit:
fjahr:
re-ACK d4a1ee8f1d4c46ab726be83965bd86bace2ec1ec
instagibbs:
reACK d4a1ee8f1d
laanwj:
re-ACK d4a1ee8f1d4c46ab726be83965bd86bace2ec1ec
hebasto:
re-ACK d4a1ee8f1d4c46ab726be83965bd86bace2ec1ec, only rebased since my [previous](https://github.com/bitcoin/bitcoin/pull/19606#pullrequestreview-492763028) review:
Tree-SHA512: 1bb8725dd2313a9a03cacf8fb7317986eed3d8d1648fa627528441256c37c793bb0fae6c8c139d05ac45d0c7a86265792834e8e09cbf45286426ca6544c10cd5
Starting with the Clang shipped with Xcode 12, Apple has enabled
-Werror=implicit-function-declaration by default. This causes bdbs mutex
detection to fail when building on macOS (not cross-compiling):
checking for mutexes... UNIX/fcntl
configure: WARNING: NO SHARED LATCH IMPLEMENTATION FOUND FOR THIS PLATFORM.
configure: error: Unable to find a mutex implementation
as previously emitted warnings are being turned into errors. i.e:
error: implicitly declaring library function 'exit' with type 'void (int) __attribute__((noreturn))' [-Werror,-Wimplicit-function-declaration]
Append -Wno-error=implicit-function-declaration to cflags so that
-Wimplicit-function-declaration returns to being a warning, and the
configure checks will succeed.
Fixes#19411.
Github-Pull: #20195
Rebased-From: d0a829e9632379e42f0be5c554e3b692f0d14a95
+ Replaces std::max with std::min to resize buffer in RandAddSeedPerfmon
+ Documents behavior of RandAddSeedPerfmon
Github-Pull: #20082
Rebased-From: bd5215103eb3985c1622eddea45a040e6173829c
3562c15be3dbf725197d719d58c8d78e2f2c6779 build: set minimum required Boost to 1.48.0 (fanquake)
Pull request description:
Due to the use of [`boost::filesystem::canonical()`](80aa83aa40/src/wallet/load.cpp (L21)), the minimum required
version of Boost is actually 1.48.0. Use of canonical was introduced
in #14146.
See also [Boost filesystem 1.48.0 release notes](6b5e38134a/doc/release_history.html (L508)). Also discussed in #20080.
ACKs for top commit:
practicalswift:
ACK 3562c15be3dbf725197d719d58c8d78e2f2c6779: correct is better than incorrect :)
hebasto:
ACK 3562c15be3dbf725197d719d58c8d78e2f2c6779, this is the status quo.
Tree-SHA512: 1d2226c60accb8e2276e023120a72f070392a6c1d3db97fb23e7759c174984226f81fed6d94f3203ef663fb4b3648e65960aaf15ed718895b6673e3ebeb082bd
Due to the use of boost::filesystem::canonical(), the minimum required
version of Boost is actually 1.48.0. Use of canonical was introduced
in #14146.
See also Boost filesystem 1.48.0 release notes:
6b5e38134a/doc/release_history.html (L508)