aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-01-06Merge bitcoin/bitcoin#23760: util: move MapIntoRange() for reuse in fuzz testsMarcoFalke
df2307cdc3d08233d17beb9a50c144baaef1f44e util: move MapIntoRange() for reuse in fuzz tests (fanquake) Pull request description: ACKs for top commit: shaavan: ACK df2307cdc3d08233d17beb9a50c144baaef1f44e Tree-SHA512: 31bf18f50a82e442ff025d6be0db5666b463a1fc16ec6b2112c77bb815515d27f8a537a0c9934c7daa3f4d526b47e8d6333f75a13b271e6efa550f8e71504b0a
2022-01-06Merge bitcoin/bitcoin#23855: refactor: Post-"Chainstate loading sequence ↵MarcoFalke
coalescence" fixups e3544c864e3e56867de25b8db7b012d58b378050 init: Use clang-tidy named args syntax (Carl Dong) 3401630417d994b53ff3a89db2ea759ab1ec6f0f style-only: Rename *Chainstate return values (Carl Dong) 1dd582782d3c182aa952f23ec577f6a0a8672e7b docs: Make LoadChainstate comment more accurate (Carl Dong) 6b83576388e205116a0ebc67b9949f309eea1207 node/chainstate: Use MAX_FUTURE_BLOCK_TIME (Carl Dong) Pull request description: There are 2 proposed fixups in discussions in #23280 which I have not implemented: 1. An overhaul to return types and an option type for the two `*Chainstate` functions: https://github.com/bitcoin/bitcoin/pull/23280#issuecomment-984149564 - The change reintroduces stringy return types and is quite involved. It could be discussed in a separate PR. 2. Passing in the unix time to `VerifyChainstate` instead of a callback to get the time: https://github.com/bitcoin/bitcoin/pull/23280#discussion_r765051533 - I'm not sure it matters much whether it's a callback or just the actual unix time. Also, I think `VerifyDB` can take quite a while, and I don't want to impose that the function have to "run quickly" in order to have it be correct. If reviewers feel strongly about either of the two fixups listed above, please feel free to open a PR based on mine and I'll close this one! ACKs for top commit: ryanofsky: Code review ACK e3544c864e3e56867de25b8db7b012d58b378050 MarcoFalke: ACK e3544c864e3e56867de25b8db7b012d58b378050 🐸 Tree-SHA512: dd1de0265b6785eef306e724b678ce03d7c54ea9f4b5ea0ccd7af59cce2ea3aba73fd4af0c15e2dca9265807dc4075f9afa2ec103672677b6638b1a4fc090904
2022-01-06Merge bitcoin/bitcoin#23832: Refactor: Changes time variables from int to chronoMarcoFalke
fe86eb50c986f7b5ccce63f984d8a51cd9ee9e2c Refactor: Uses c++ init convention for time variables (Shashwat) 6111b0d7fac89b7a0a03284ca6ec030ca7f30b99 Refactor: Changes remaining time variable type from int to chrono (Shashwat) Pull request description: This PR is a follow-up to #23801. This PR aims to make the following changes to all the time variables in **net_processing.cpp** wherever possible. - Convert all time variables to `std::chrono.` - Use `chorno::literals` wherever possible. - Use `auto` keywords wherever possible. - Use `var{val}` convention of initialization. This PR also minimizes the number of times, serialization of time `count_seconds(..)` occurs. ACKs for top commit: MarcoFalke: re-ACK fe86eb50c986f7b5ccce63f984d8a51cd9ee9e2c 🏕 Tree-SHA512: c8684c0c60a11140027e36b6e9706a45ecdeae6b5ba0bf267e50655835daee5e5410e34096a8c4eca005f327caae1ac258cc7b8ba663eab58abf131f6d2f4d42
2022-01-06Merge bitcoin/bitcoin#23075: test: Fee estimation functional test cleanupsMarcoFalke
60ae1161a4c415cc73f47df95598f3688e8d34df qa: replace assert with test framework assertion helpers in fee estimation test (Antoine Poinsot) e50213967b6d5dda9c0acc4643c8ec67f9fd7284 qa: fee estimation with RBF test cleanups (Antoine Poinsot) 15f5fd62afb57ec501dc8c6706999d4c83e58414 qa: don't mine non standard txs in fee estimation test (Antoine Poinsot) eae52dd6abb8efb99d62d38670cea89ff1e41286 qa: pass scriptsig directly to txins constructor in fee estimation test (Antoine Poinsot) 1fc03155e53f4f0a7f0a2529e55e802f49260b23 qa: split coins in a single tx in fee estimation test (Antoine Poinsot) cc204b8be758102bba94e8e3e0d1989462cb9e5c qa: use a single p2sh script in fee estimation test (Antoine Poinsot) 19dd91a9bec77b14ff5b883d3e185b6b4a081ef7 qa: remove a redundant condition in fee estimation test (Antoine Poinsot) Pull request description: Some cleanups that i noticed would be desirable while working on #23074 and #22539, which are intentionally not based on it. Mainly simplifications and a slight speedup. - Use a single tx to create the `2**9` coins instead of creating `2**8` 2-outputs transactions - Use a single P2SH script - Avoid the use of non-standard transactions - Misc style nits (happy to take more) ACKs for top commit: pg156: I ACK all commits up to https://github.com/bitcoin/bitcoin/pull/23075/commits/60ae1161a4c415cc73f47df95598f3688e8d34df (except https://github.com/bitcoin/bitcoin/pull/23075/commits/1fc03155e53f4f0a7f0a2529e55e802f49260b23, where I have a question more for my own learning than actually questioning the PR). I built and ran the test successfully. I agree after the changes, the behavior is kept the same and the code is shorter and easier to reason. glozow: utACK 60ae1161a4c415cc73f47df95598f3688e8d34df Tree-SHA512: 57ae2294eb68961ced30f32448c4a530ba1cdee17881594eecb97e1b9ba8927d58c25022b847eb07fb67d676bf436108c416c2f2174864d258fcca5b528b8bbd
2022-01-06build: rename --enable-ebpf to --enable-usdt0xb10c
eBPF is a Linux kernel technology used to "extend the capabilities of the kernel without requiring to change kernel source code or load kernel modules". While Userspace, Statically Defined Tracing (USDT) uses eBPF under the hood, --enable-usdt better resembles that support for USDT is enabled, and tracepoints will be included in the binary.
2022-01-06Merge bitcoin/bitcoin#23985: reviewers: add tracingfanquake
9bd46e24a67e000fdbd76dffde6da25c12e29dac reviewers: add tracing (William Casarin) Pull request description: Adding myself and 0xB10C to USDT tracing reviews ~~cc 0xB10C lmk if you want in on this~~ ACKs for top commit: 0xB10C: ACK 9bd46e24a67e000fdbd76dffde6da25c12e29dac Tree-SHA512: 8c6674bcf0fc70422163d353ad22d4bb3d747af9d17de069d39b4576ec3e1baf883605774683f9caf84d138ae1dc1424d1a9afdd115abba9d947cbc31a309144
2022-01-05reviewers: add tracingWilliam Casarin
Adding myself and 0xB10C to USDT tracing reviews Signed-off-by: William Casarin <jb55@jb55.com>
2022-01-06Merge bitcoin/bitcoin#23970: Remove pointless and confusing shift in ↵fanquake
RelayAddress fa9f4554ca5e64e7960b74dd0ad8fb1cd7c2f091 refactor: Remove pointless and confusing shift in RelayAddress (MarcoFalke) Pull request description: The second argument written to the siphash is already quantized to 24 hours, so it seems confusing to quantize the first argument to 32 bits (out of 64 bits). > The shifting is pointless, we should get rid of it. It seems to be a silly evolution of this 2010 Satoshi code: 5cbf753 (where it made sense because everything was XORed together, and the address used the high bits, while the time used the low ones). (Copied from https://github.com/bitcoin/bitcoin/pull/18642#issuecomment-613773120) (The original code was `uint256 hashRand = hashSalt ^ (((int64)addr.ip)<<32) ^ ((GetTime()+addr.ip)/(24*60*60));`) This also allows to remove a integer sanitizer suppression for the whole file. ACKs for top commit: laanwj: Code review ACK fa9f4554ca5e64e7960b74dd0ad8fb1cd7c2f091 sipa: utACK fa9f4554ca5e64e7960b74dd0ad8fb1cd7c2f091 promag: Code review ACK fa9f4554ca5e64e7960b74dd0ad8fb1cd7c2f091. Tree-SHA512: f5fd107464ccd839d6749aed6914b4935e39ab42906546b3f3810a7339fc4633fef931a1783a287572af5ec64525626fa91d147d8ff52eb076740465bf5cf839
2022-01-05Merge bitcoin/bitcoin#23834: wallettool: Check that the dumpfile checksum is ↵laanwj
the correct size ac617cc141fe05bea0dc5e8f9df3da43c0945842 wallettool: Check that the dumpfile checksum is the correct size (Andrew Chow) Pull request description: After parsing the checksum, make sure that it is the size that we expect it to be. This issue was reported by Pedro Baptista. ACKs for top commit: laanwj: Code review ACK ac617cc141fe05bea0dc5e8f9df3da43c0945842 Tree-SHA512: 8135b3fb1f4f6b6c91cfbac7d1d3421f1f6c664a742c92940f68eae857f92ce49d042cc3aa5c2df6ef182825271483d65efc7543ec7a8ff047fd7c08666c8899
2022-01-05Merge bitcoin/bitcoin#23784: bitcoin-tx: Require that input amount is ↵MarcoFalke
provided for witness transactions 8bd34dc774788cbf3cad8e139542a0ed9f3e8bb4 test: check that bitcoin-tx detects missing input amount for segwit transactions (Sebastian Falbesoner) c337b27d7cfd468048bcf816e585a1f7d59e066d Require that input amount is provided for bitcoin-tx witness transactions (Ben Woosley) Pull request description: This PR picks up the obviously abandoned PR #13608 (last activity was three and a half years ago) by rebasing it on master and adding missing tests. Original PR description: "_Applies fix from #12458 / #13547 to bitcoin-tx._" The private key is the compressed version of the one used in most other util tests (5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf, corresponds to the scalar value k=1 in big endian), since segwit signing refuses uncompressed keys. The error message from the picked up PR is changed to not include the amount, as showing any value would be just confusing. ACKs for top commit: josibake: ACK https://github.com/bitcoin/bitcoin/commit/8bd34dc774788cbf3cad8e139542a0ed9f3e8bb4 Tree-SHA512: 334b418f89527363ad7e3326b4126e86a05fd64876c49a8280de38e64cfac52cb62c4b24b83603dd68b6bcebbe57c64161832edffb1cac7e9c68426f6b6eae1f
2022-01-05Merge bitcoin/bitcoin#23799: test: Let test_runner.py start multiple jobs ↵laanwj
per timeslot 975097f424541a149c5b4e03816208aa76aad6b9 Let test_runner.py start multiple jobs per timeslot (Pieter Wuille) Pull request description: test_runner.py currently only checks every 0.5s whether any job has finished, and if so, starts at most one new job. At higher parallellism it becomes increasingly likely that multiple jobs have finished at the same time. Fix this by always noticing *all* finished jobs every timeslot, and starting as many new ones. ACKs for top commit: laanwj: Code review and lightly tested ACK 975097f424541a149c5b4e03816208aa76aad6b9 prayank23: ACK https://github.com/bitcoin/bitcoin/pull/23799/commits/975097f424541a149c5b4e03816208aa76aad6b9 Tree-SHA512: b70c51f05efcde9bc25475c192b86e86b4c399495b42dee20576af3e6b99e8298be8b9e82146abdabbaedb24a13ee158a7c8947518b16fc4f33a3b434935b550
2022-01-05scripted-diff: Rename touched member variablesMarcoFalke
-BEGIN VERIFY SCRIPT- ren() { sed -i "s/\<$1\>/$2/g" $( git grep -l "$1" ./src/ ) ; } ren vinfoBlockFile m_blockfile_info ren nLastBlockFile m_last_blockfile ren fCheckForPruning m_check_for_pruning ren setDirtyBlockIndex m_dirty_blockindex ren setDirtyFileInfo m_dirty_fileinfo -END VERIFY SCRIPT-
2022-01-05Make blockstorage globals private members of BlockManagerMarcoFalke
2022-01-05doc: Clarify nPruneAfterHeight for signetMarcoFalke
2022-01-05test: Load genesis block to allow flushMarcoFalke
This is needed to turn globals into member variables. Otherwise, this will lead to issues: runtime error: reference binding to null pointer of type 'CBlockFileInfo' #0 in std::vector<CBlockFileInfo, std::allocator<CBlockFileInfo> >::operator[](unsigned long) /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_vector.h:1046:2 #1 in BlockManager::FlushBlockFile(bool, bool) src/node/blockstorage.cpp:540:47 #2 in CChainState::FlushStateToDisk(BlockValidationState&, FlushStateMode, int) src/validation.cpp:2262:28 #3 in CChainState::ResizeCoinsCaches(unsigned long, unsigned long) src/validation.cpp:4414:15 #4 in validation_chainstate_tests::validation_chainstate_resize_caches::test_method() src/test/validation_chainstate_tests.cpp:66:12
2022-01-05Move blockstorage-related unload to BlockManager::UnloadMarcoFalke
This is a refactor and safe to do because: * UnloadBlockIndex calls ChainstateManager::Unload, which calls BlockManager::Unload * Only unit tests call Unload directly
2022-01-05Merge bitcoin/bitcoin#23980: doc: Fix typo in getmempoolinfo (z->s)laanwj
fab16415ba1729748b03518c92396febda5a25d1 doc: Fix typo in getmempoolinfo (MarcoFalke) Pull request description: Also, remove whitespace. Can be reviewed with `--ignore-all-space --word-diff-regex=.`. ACKs for top commit: laanwj: Good catch. ACK fab16415ba1729748b03518c92396febda5a25d1 shaavan: ACK fab16415ba1729748b03518c92396febda5a25d1 Tree-SHA512: 9d51ef4a4eccfcf437c99a9f84f48e4f090d75715332ad2b4cf10ad77c3691de03255b4817e9fd203fad9baf338066982304dc62fab93dd605e735943f8ca346
2022-01-05Merge bitcoin/bitcoin#21879: refactor: wrap accept() and extend usage of SockW. J. van der Laan
6bf6e9fd9dece67878595a5f3361851c25833c49 net: change CreateNodeFromAcceptedSocket() to take Sock (Vasil Dimov) 9e3cbfca7c9efa620c0cce73503772805cc1fa82 net: use Sock in CConnman::ListenSocket (Vasil Dimov) f8bd13f85ae5404adef23a52719d804a5c36b1e8 net: add new method Sock::Accept() that wraps accept() (Vasil Dimov) Pull request description: _This is a piece of https://github.com/bitcoin/bitcoin/pull/21878, chopped off to ease review._ Introduce an `accept(2)` wrapper `Sock::Accept()` and extend the usage of `Sock` in `CConnman::ListenSocket` and `CreateNodeFromAcceptedSocket()`. ACKs for top commit: laanwj: Code review ACK 6bf6e9fd9dece67878595a5f3361851c25833c49 jamesob: ACK 6bf6e9fd9dece67878595a5f3361851c25833c49 ([`jamesob/ackr/21879.2.vasild.wrap_accept_and_extend_u`](https://github.com/jamesob/bitcoin/tree/ackr/21879.2.vasild.wrap_accept_and_extend_u)) jonatack: ACK 6bf6e9fd9dece67878595a5f3361851c25833c49 per `git range-diff ea989de 976f6e8 6bf6e9f` -- only change since my last review was `s/listen_socket.socket/listen_socket.sock->Get()/` in `src/net.cpp: CConnman::SocketHandlerListening()` -- re-read the code changes, rebase/debug build/ran units following my previous full review (https://github.com/bitcoin/bitcoin/pull/21879#pullrequestreview-761251278) w0xlt: tACK 6bf6e9f Tree-SHA512: dc6d1acc4f255f1f7e8cf6dd74e97975cf3d5959e9fc2e689f74812ac3526d5ee8b6a32eca605925d10a4f7b6ff1ce5e900344311e587d19786b48c54d021b64
2022-01-05Merge bitcoin/bitcoin#23981: doc: Fix typo in LoadBlockIndexMarcoFalke
c03cf38a16507568da73ce7603cd77cfe1d60392 doc: Fix typo in LoadBlockIndex (brunoerg) Pull request description: Instad -> Instead Top commit has no ACKs. Tree-SHA512: 37dcdd34e2bd985619daecc9d1072ac002f3bc7b47db413432d027a2b8cce32501f93a57ee85869755bb0eedecedfab6ecac9ce2a591341c8f011118390a5b18
2022-01-05move-only: Create WriteBlockIndexDB helperMarcoFalke
Can be reviewed with --color-moved=dimmed-zebra --color-moved-ws=ignore-all-space
2022-01-05Move functions to BlockManagerMarcoFalke
Needed for a later commit
2022-01-05doc: Fix typo in LoadBlockIndexbrunoerg
2022-01-05doc: Fix typo in getmempoolinfoMarcoFalke
2022-01-05Merge bitcoin/bitcoin#23411: refactor: Avoid integer overflow in ApplyStats ↵MarcoFalke
when activating snapshot fa996c58e8a31ebe610d186cef408b6dd3b385a8 refactor: Avoid integer overflow in ApplyStats when activating snapshot (MarcoFalke) fac01888d17423d6c23a9ce15d98fc88fb34e3cc Move AdditionOverflow to util, Add CheckedAdd with unit tests (MarcoFalke) fa526d8fb6ab8f2678a30d4536aa9c45218f5269 Add dev doc to CCoinsStats::m_hash_type and make it const (MarcoFalke) faff051560552d4405896e01920a18f698155a56 style: Remove unused whitespace (MarcoFalke) Pull request description: A snapshot contains the utxo set, including the out value. To activate the snapshot, the hash needs to be calculated. As a side-effect, the total amount in the snapshot is calculated (as the sum of all out values), but never used. Instead of running into an integer overflow in an unused result, don't calculate the result in the first place. Other code paths (using the active utxo set) can not run into an integer overflow, since the active utxo set is valid. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=39716 ACKs for top commit: shaavan: reACK fa996c58e8a31ebe610d186cef408b6dd3b385a8 vasild: ACK fa996c58e8a31ebe610d186cef408b6dd3b385a8 Tree-SHA512: 4f207f634841f6f634fd02ae1e5907e343fd767524fd0e8149aa99fa9a1834fe50167d14874834d45236e9c325d567925f28129bacb7d80be29cf22277a16a14
2022-01-05Merge bitcoin/bitcoin#23978: test: use MiniWallet for mining_basic.pyMarcoFalke
7746606cfa31ee7c6d444b313250868ad0e4ac64 test: use MiniWallet for mining_basic.py (Sebastian Falbesoner) Pull request description: This PR enables one more of the non-wallet functional tests (mining_basic.py) to be run even with the Bitcoin Core wallet disabled by using the MiniWallet instead, as proposed in #20078. ACKs for top commit: brunoerg: crACK 7746606cfa31ee7c6d444b313250868ad0e4ac64 Tree-SHA512: 4455b8b764413b0fc3ef388e3c5d5758f9e6b6d3193ac660269a9ba1c988022e6b7bc148549c2167942ea472c5aaddd2b6b3b9d99790d0654b089af975b86e11
2022-01-05Merge bitcoin/bitcoin#23979: test: wait for rather than assert presence of ↵MarcoFalke
file in startupnotify test 96eb0093d07c58ad3b02c49a5a4385da37a8e337 test: wait rather than assert presence of file in startupnotify test (fanquake) Pull request description: Should fix #23967. ACKs for top commit: brunoerg: crACK 96eb0093d07c58ad3b02c49a5a4385da37a8e337 kristapsk: utACK 96eb0093d07c58ad3b02c49a5a4385da37a8e337 Tree-SHA512: 9107970e45c027cfc6c6cbfcfd5a7d9f5956259bbbb11f5b180c3947126e42e62c0f8ffd69cf7b39b51c9c5b4fedbb753839d59aebe876be68c1484bb6065819
2022-01-05guix: use upstream python-requests (2.26.0)fanquake
Upstream python requests is now modern enough to be used as a dependency for signapple. Which requires requests>=2.25.1.
2022-01-05build: use python-asn1crypto from upstreamfanquake
It is the exact same package definition.
2022-01-05guix: use uptream nsis-x86_64fanquake
Our patch is now used upstream.
2022-01-05guix: use GCC 10 (over GCC 8) to build releasesfanquake
This currently points to the version-1.4.0 branch.
2022-01-05Merge bitcoin/bitcoin#23909: build: use a static .tiff for macOS .dmg rather ↵fanquake
than generating e09773d20a9230ba7aa2cbb7e87fdc5187ddfec6 build: use a static .tiff for macOS .dmg over generating (fanquake) Pull request description: For demonstration, after [discussion in #23778](https://github.com/bitcoin/bitcoin/pull/23778#issuecomment-1003005503), and the question as to why we can't just have a `background.tiff` that we copy into the macOS DMG, and do away with the somewhat convoluted image generation steps. From my understanding, the only reason we have this image generation as part of our build system is so that forks of Core can adapt the imagery for their own branding via `PACKAGE_NAME`. It don't think it provides much value to us, and could just have a static .tiff that we copy into the dmg (replacing the .svg that currently lives in macdeploy/). Doing this would eliminate the following build dependencies: For native macOS: * `sed` (usage in Makefile.am) * `librsvg` (rsvg-convert) * `tiffutil` Linux macOS cross-compile: * `sed` (usage in Makefille.am) * `librsvg` * `tiffcp` * `convert` (imagemagick) * `font-tuffy` 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 c98d67796863f4b1bab0ad600d46bd74e744d94072cbd4bc856a6aeaba3bb329 guix-build-e09773d20a92/output/dist-archive/bitcoin-e09773d20a92.tar.gz 3336f90bab312798cb7665e2b4ae24d1a270fb240647d5fed8dbfcd83e3ed37e guix-build-e09773d20a92/output/x86_64-apple-darwin/SHA256SUMS.part 8fd680c7ee158c64bad212385df7b0b302c6c2143d4e672b4b0eb5da41f9256d guix-build-e09773d20a92/output/x86_64-apple-darwin/bitcoin-e09773d20a92-osx-unsigned.dmg 34f54177c2f0700e8cfaf5d85d91e404807cd9d411e22006cdff82653e5f4af2 guix-build-e09773d20a92/output/x86_64-apple-darwin/bitcoin-e09773d20a92-osx-unsigned.tar.gz da6b8f54ef755d40330c8eac4f5bd0329637e827be9ee61318600d5d0bdcc3dc guix-build-e09773d20a92/output/x86_64-apple-darwin/bitcoin-e09773d20a92-osx64.tar.gz ``` ![dmg](https://user-images.githubusercontent.com/863730/147847717-8121c2d2-cdd4-4781-8397-3bf2893d52cc.png) ACKs for top commit: hebasto: ACK e09773d20a9230ba7aa2cbb7e87fdc5187ddfec6 jarolrod: ACK e09773d20a9230ba7aa2cbb7e87fdc5187ddfec6 Zero-1729: ACK e09773d20a9230ba7aa2cbb7e87fdc5187ddfec6 Tree-SHA512: 0ad06699a5451daa8cfaaa46759eb7bd85254a72e23f857f70d433a2ffb1a4bf6dd464d9c4ac9f8c20aab045f4e2b61c6dcdcbcceef96ce515b1a0c501665b1f
2022-01-05test: wait rather than assert presence of file in startupnotify testfanquake
Should fix #23967.
2022-01-05Merge bitcoin/bitcoin#23977: depends: Fix typofanquake
d2fdc320cc9774775969f571e7a64fc3e8c226ef depends: Fix typo (Dimitris Apostolou) Pull request description: ACKs for top commit: fanquake: ACK d2fdc320cc9774775969f571e7a64fc3e8c226ef Tree-SHA512: d40997c572cab4c54be6d4bde1965f614c0bd9900096ebe8875d5bf60d7d82819d222e5d9b25b40365cef4eaf835b4f1d963c4c4bf0939649010743179322c17
2022-01-05Merge bitcoin/bitcoin#23975: doc: Mark proprietary array optionalfanquake
faa51a6aa92966403b1c46d4047f5b3aafcccd1d doc: Mark proprietary array optional (MarcoFalke) Pull request description: The global one is returned all the time, but the input/output array is returned optionally ACKs for top commit: fanquake: ACK faa51a6aa92966403b1c46d4047f5b3aafcccd1d Tree-SHA512: db987c13d59e0ccc633032707438d506fe4f8fbf7569a03b99d899cb1309de94f99c343840107fc51a9f904bcf55e00049808b6cdf732fc16c6e9e818b480936
2022-01-04test: use MiniWallet for mining_basic.pySebastian Falbesoner
This test can now be run even with the Bitcoin Core wallet disabled.
2022-01-04doc: Mark proprietary array optionalMarcoFalke
Also, remove not needed '\n's. Can be reviewed with --word-diff-regex=.
2022-01-04depends: Fix typoDimitris Apostolou
2022-01-04refactor: Remove pointless and confusing shift in RelayAddressMarcoFalke
2022-01-04Merge bitcoin/bitcoin#23973: test: Bundle all integer sanitizer suppressions ↵MarcoFalke
of dependencies fa77dc9ce2ba6ab18a0add0ff520db133213ec2c test: Bundle all integer sanitizer suppressions of dependencies (MarcoFalke) Pull request description: And remove three that are no longer needed. Can be reviewed with `--color-moved=dimmed-zebra`. Having separate sections for out-of-tree dependencies and in-tree suppressions makes it easier to categorize while reading. ACKs for top commit: fanquake: ACK fa77dc9ce2ba6ab18a0add0ff520db133213ec2c Tree-SHA512: c18ba99c54595c1a3dd066c5317bf5ed391ed7dace7435f686b4d0047d8d622f71deb646dcd3db1776c7564a721b01e27b19474b307d52ee8870a4b4d382b24e
2022-01-04Merge bitcoin/bitcoin#23954: doc: remove CC_FOR_BUILD from OpenBSD build docMarcoFalke
62c173ae4c5db5bf2f753136cc8c7872c59e7c9a doc: remove CC_FOR_BUILD from OpenBSD build doc (fanquake) Pull request description: This is no-longer necessary after upstream libsecp256k1 changes that have been pulled into our repo. ACKs for top commit: theStack: ACK 62c173ae4c5db5bf2f753136cc8c7872c59e7c9a Tree-SHA512: 7c328185afec366ff49096512b2fcc3c2f2a2381875f65f5444ffacf118f9a51e4e2237daaae6b32f742a7c4c54c1fbba7cee4e1807d7c4816123f6b0e7c33c8
2022-01-04Merge bitcoin/bitcoin#23826: test: Make AddrMan unit tests use public ↵fanquake
interface, extend coverage ea4c9fd4ab9aaa2e8f2c2e38a75c9f05d0bfc866 test: Cover eviction by timeout in addrman_evictionworks (Martin Zumsande) 4f1bb467b556ec93c9b8f758783fda4d050da491 test: Add test for multiplicity in addrman new tables (Martin Zumsande) e880bb7836dab2018049390884220177c6db9b92 test: Add test for updating addrman entries (Martin Zumsande) f02eee8c8784dfc8db80a21ab6508f7c99298255 test: introduce utility function to retrieve an addrman (Martin Zumsande) f0e5efb82493f7a14580335ce719d5be81c8713e test: Remove unused AddrManTest class (Martin Zumsande) b696d7870b29232057600df5ddd8351888253b95 test: Remove tests for internal helper functions (Martin Zumsande) 0538520091bf2982a029a0298835400f5afbdc15 test: use AddrMan instead of AddrManTest where possible (Martin Zumsande) 1c65d427bbf61bb558cf7e18f7aff99b19f68508 test: Inline SimConnFail function (Martin Zumsande) 5b7aac34f2363822c3a1cfafda8ffc9528905058 test: delete unused GetBucketAndEntry function (Amiti Uttarwar) 2ba1e74e59a325ca6cb140757067dd5e0c7c249b test: Update addrman_serialization unit test to use AddrMan's interface (Amiti Uttarwar) dad5f760211df314d650999e0a76edb0151b4fe1 addrman: Introduce a test-only function to lookup addresses (Amiti Uttarwar) Pull request description: This PR (joint work with Amiti Uttarwar) changes the addrman unit tests such that they only use the public `AddrMan` interface: This has the advantage that the tests are less implementation-dependent, i.e. it would be possible to rewrite the internal addrman implementation (as drafted [here](https://github.com/sipa/bitcoin/tree/202106_multiindex_addrman) for using a multiindex) without having to adjust the tests. This includes the following steps: * Adding a test-only function `FindAddressEntry()` to the public addrman interface which returns info about an address in addrman (e.g. bucket, position, whethe the address is in new or tried). Obviously we want to do this sparingly, but I think a single test-only function is ok (which could also be useful elsewhere, e.g. in fuzz tests). * Removal of the `AddrManTest` subclass which would reach into AddrMan's internals, using `AddrMan` instead * Removal of tests for internal helper functions that are not publicly exposed (these are still tested indirectly via the public functions calling them). * Additional tests for previously untested features such as multiplicity in the new tables, that can be tested with the help of `FindAddressEntry()`. All in all, this PR increases the unit test coverage of AddrMan by a bit. ACKs for top commit: jnewbery: ACK ea4c9fd4ab9aaa2e8f2c2e38a75c9f05d0bfc866 josibake: reACK https://github.com/bitcoin/bitcoin/pull/23826/commits/ea4c9fd4ab9aaa2e8f2c2e38a75c9f05d0bfc866 Tree-SHA512: c2d4ec8bdc62ffd6055ddcd37dea85ec08c76889e9e417e8d7c62a96cf68a8bcbe8c67bec3344d91fa7d3c499f6d9f810962da1dddd38e70966186b10b8ab447
2022-01-04Merge bitcoin/bitcoin#23936: rpc: Add and use EnsureArgsman helperMarcoFalke
fa5bb37611dea5d3e6715b0c84249e39ad1d2476 rpc: Use EnsureAnyArgsman in rpc/blockchain (MarcoFalke) fa98b6f6449d33b315a73156c6de968f1757d53a rpc: Add EnsureArgsman helper (MarcoFalke) Pull request description: This refactor doesn't change anything for the rpc layer, but it helps a bit with removing gArgs (See #21005) ACKs for top commit: shaavan: Code Review ACK fa5bb37611dea5d3e6715b0c84249e39ad1d2476 Tree-SHA512: 18f9cc90830a168acb94452b541b6e97ba9a50a0f4834698a16994c3884c833dc606e36a5538a16352e5e5cc43d3ac77cb498f877f8f5bc5dd52fa84f8bf2056
2022-01-04Merge bitcoin/bitcoin#23838: scripts: make security checks architecture ↵W. J. van der Laan
independent b9898aeeaa6a3db76e40f1981d0a9db80a5d82ff scripts: make security checks architecture independent (fanquake) Pull request description: This paves the way for using and checking for architecture dependent flags like `-fcf-protection` on x86_64 Linux and `-mbranch-protection` on 64 bit ARM. While we need a workaround for RISCV arch detection, I sent a change upstream (https://github.com/lief-project/LIEF/pull/640), which has been merged. So we can drop this workaround along with our other RISCV workarounds (i.e https://github.com/lief-project/LIEF/pull/562) with the next LIEF release. Required for #19075, #21851, #21888 etc. 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 c57bcad9d763aae223a256283fef6243d79e0df46c5b5706dc9034a87df56694 guix-build-b9898aeeaa6a/output/aarch64-linux-gnu/SHA256SUMS.part f16fb8f0a2d4dfd576fea440c487722d076f3db9d10ec0480b2f94df0c92a6a3 guix-build-b9898aeeaa6a/output/aarch64-linux-gnu/bitcoin-b9898aeeaa6a-aarch64-linux-gnu-debug.tar.gz 0e6e660eca7484ddb160b3d62d8867cf171044e81e719de899cd9b8b898cc614 guix-build-b9898aeeaa6a/output/aarch64-linux-gnu/bitcoin-b9898aeeaa6a-aarch64-linux-gnu.tar.gz 29f14e305a280dc1d33a1f2d660db952caf6f3a9aeff9ab9560f122821269ab2 guix-build-b9898aeeaa6a/output/arm-linux-gnueabihf/SHA256SUMS.part 26477f58601363dfe8eb2639472f71943bc341d415b6190316af232f363f5485 guix-build-b9898aeeaa6a/output/arm-linux-gnueabihf/bitcoin-b9898aeeaa6a-arm-linux-gnueabihf-debug.tar.gz 372be53fd6d7fedad1bddc45cd9d1ce34cff376eaae4f613e2aa2465728fba82 guix-build-b9898aeeaa6a/output/arm-linux-gnueabihf/bitcoin-b9898aeeaa6a-arm-linux-gnueabihf.tar.gz 39778c9d2949deaba404c90b930e5a0b72663bb05e9d82e93439be131fd622e3 guix-build-b9898aeeaa6a/output/dist-archive/bitcoin-b9898aeeaa6a.tar.gz 599eee817b364b0348034a3e8c97b4bb1a35a78e3ba3472f7589f7a241947b51 guix-build-b9898aeeaa6a/output/powerpc64-linux-gnu/SHA256SUMS.part ade0c5ac07d467aa73f85d2a08c3fc3b311816869a2b6903bba4b4e6c88ad9d2 guix-build-b9898aeeaa6a/output/powerpc64-linux-gnu/bitcoin-b9898aeeaa6a-powerpc64-linux-gnu-debug.tar.gz c63db0e2570756df0b459e6114f01f0b47972ba8d81fcd9568edee95dfade23b guix-build-b9898aeeaa6a/output/powerpc64-linux-gnu/bitcoin-b9898aeeaa6a-powerpc64-linux-gnu.tar.gz dc4e6ba6958e534161a54669ff5d75bc312cfeb92567cc2092235eed0e2f6aa7 guix-build-b9898aeeaa6a/output/powerpc64le-linux-gnu/SHA256SUMS.part 3ce4c7e50915f72f24fcd24e1e1bc8460cdf2c065e390cf5f626c4cffd50961c guix-build-b9898aeeaa6a/output/powerpc64le-linux-gnu/bitcoin-b9898aeeaa6a-powerpc64le-linux-gnu-debug.tar.gz c8f4a8f10f16fab07547553f1f2580c4aa98ac63246fb30da0560a6367990dd1 guix-build-b9898aeeaa6a/output/powerpc64le-linux-gnu/bitcoin-b9898aeeaa6a-powerpc64le-linux-gnu.tar.gz 8206937fefc76cc277cc7aa8762d7554575942a9e1704106d5ab9b6fe01d5408 guix-build-b9898aeeaa6a/output/riscv64-linux-gnu/SHA256SUMS.part 9530ee044927df02d96c3a9e5974d68b70a7105cb943b94e846c496c2d0579b9 guix-build-b9898aeeaa6a/output/riscv64-linux-gnu/bitcoin-b9898aeeaa6a-riscv64-linux-gnu-debug.tar.gz fc4885db902c3205d3c1bc45c7e03375e621633efb419df37f145d11329bd6ed guix-build-b9898aeeaa6a/output/riscv64-linux-gnu/bitcoin-b9898aeeaa6a-riscv64-linux-gnu.tar.gz caedbc37d5aa5fbb0e370019ce5f1d5f6745b32153f562b0aee80aceec57deab guix-build-b9898aeeaa6a/output/x86_64-apple-darwin/SHA256SUMS.part 1b363dfde1d83530ec4deb0f24547c07446f5db99f327fe382a6e91b4b6cc454 guix-build-b9898aeeaa6a/output/x86_64-apple-darwin/bitcoin-b9898aeeaa6a-osx-unsigned.dmg bee82fe6e50a249eab21b6c97ad7436447489d0eabe3e5f7c992ba3b22dfc5ea guix-build-b9898aeeaa6a/output/x86_64-apple-darwin/bitcoin-b9898aeeaa6a-osx-unsigned.tar.gz a935280e1229c69bdd29f32d4c894f1384e765872c68ea0dcdacdf897d4bc013 guix-build-b9898aeeaa6a/output/x86_64-apple-darwin/bitcoin-b9898aeeaa6a-osx64.tar.gz 370a87e34e694fe44ba0cd809a1ba044bcc0e7e100b01d74a883069b3d754d1c guix-build-b9898aeeaa6a/output/x86_64-linux-gnu/SHA256SUMS.part 46f8c3aa2c3a65f3fc73ddda344724e800bb463d80b062dc749ab76f4c21bc8c guix-build-b9898aeeaa6a/output/x86_64-linux-gnu/bitcoin-b9898aeeaa6a-x86_64-linux-gnu-debug.tar.gz 9704b95152ebe582f8aa70bbab8f34ea5e32d80dfda948c019cb9f7d0982f36c guix-build-b9898aeeaa6a/output/x86_64-linux-gnu/bitcoin-b9898aeeaa6a-x86_64-linux-gnu.tar.gz 8385a966601ab4b9dc11d4467435c26af93dce97b66f3d33d7a8f7a885ac326d guix-build-b9898aeeaa6a/output/x86_64-w64-mingw32/SHA256SUMS.part f46812804e79166e5440b678166ce2cc38b5628d1a9e312b3af138720cacc478 guix-build-b9898aeeaa6a/output/x86_64-w64-mingw32/bitcoin-b9898aeeaa6a-win-unsigned.tar.gz 1d7077fdc59ce6af2ea5bffaa5a2ab579f8e8382467a7140623a6a2c4a588a0c guix-build-b9898aeeaa6a/output/x86_64-w64-mingw32/bitcoin-b9898aeeaa6a-win64-debug.zip 033fa4263ec91ca1e53ff652f12104c3c2aa7da9240a9b48bfa8f2341c79a225 guix-build-b9898aeeaa6a/output/x86_64-w64-mingw32/bitcoin-b9898aeeaa6a-win64-setup-unsigned.exe b7fdc84dee75951c131747c00e1e3c2da87e6f98e9435ffe7fa350ecda6771e8 guix-build-b9898aeeaa6a/output/x86_64-w64-mingw32/bitcoin-b9898aeeaa6a-win64.zip ``` ACKs for top commit: laanwj: Code review ACK b9898aeeaa6a3db76e40f1981d0a9db80a5d82ff hebasto: ACK b9898aeeaa6a3db76e40f1981d0a9db80a5d82ff Tree-SHA512: d7e7c3eb33f54d44a2252f36871fdb77c182da18ee02078e8b5b4f91d02ec91f9e5c829160839b010b40670202ff05d2c702b7a3873b450878f21ade4dc0ab58
2022-01-04Merge bitcoin/bitcoin#23320: rpc: Add RPC help for getblock verbosity level 3W. J. van der Laan
059f88b6a97b7a3ae1f033885e40ac01f91e6d60 Add RPC help for getblock verbosity level 3 (Kiminuo) 1bdd5f63229ebf28c24a8656f486ed8a6c8b3787 Address review comments from #22918 (Kiminuo) Pull request description: This is a follow-up PR to #22918 which addresses review comments (first commit). The second commit adds missing RPC help for verbosity level 3. ACKs for top commit: pg156: ACK https://github.com/bitcoin/bitcoin/pull/23320/commits/059f88b6a97b7a3ae1f033885e40ac01f91e6d60 laanwj: re-ACK 059f88b6a97b7a3ae1f033885e40ac01f91e6d60 Tree-SHA512: f27d53ac34b93a304ef5668701ed2b5c986a926bc8ad0df4de89695fc9e1df26acb008611451319ea897658acd9c56c6a0555d60359960c9cd28238ebefa2d50
2022-01-04test: Bundle all integer sanitizer suppressions of dependenciesMarcoFalke
And remove three that are no longer needed. Can be reviewed with --color-moved=dimmed-zebra
2022-01-04Merge bitcoin-core/gui#516: Change 'Show' iconHennadii Stepanov
1831d43e8fb73358858907e1d95ce54e1f42b2e7 Change 'Show' icon (w0xlt) Pull request description: This PR changes the 'Show' icon in `receivecoinsdialog.{ui,cpp}`. The current icon for the 'Show' button is the edit icon, which makes it look like records can be edited on this screen (which is not the case). The icon already available that seems to be the most suitable for this case is the "eye", so this PR makes this change. | PR | Master | | ------------- | ------------- | | <img width="209" alt="PR" src="https://user-images.githubusercontent.com/94266259/147833993-0758291c-af87-49a8-ae20-7fb9f944cb38.png"> | <img width="209" alt="master" src="https://user-images.githubusercontent.com/94266259/147833992-30d7549d-be7b-4479-8bca-314810e3adb8.png"> | ACKs for top commit: kristapsk: utACK 1831d43e8fb73358858907e1d95ce54e1f42b2e7 shaavan: ACK 1831d43e8fb73358858907e1d95ce54e1f42b2e7 hebasto: ACK 1831d43e8fb73358858907e1d95ce54e1f42b2e7 Tree-SHA512: 45e2c0ed51626b40de486903602f2e84a74ff8f09d84de8412c30103d4e15fcddaddbc40571f653da487c538feca33411cf07ad7dd21a9a774bfd45b171330f4
2022-01-04build: add systemtap's sys/sdt.h as depends0xb10c
The sys/sdt.h header is required to build Bitcoin Core with Userspace Statically Defined Tracing support. Systemtap version 4.5 (May 2021) is used as the most recent version 4.6 (Nov 2021) fails to build. See e.g. https://sourceware.org/git/?p=systemtap.git;a=commit;h=1d3653936fc1fd13135a723a27e6c7e959793ad0 As Systemtap itself is not needed, the build steps (configure and make) are skipped. We require fewer build dependecies and don't waste time building depends we don't end up using. However, the configure step would normally processes sys/sdt-config.h.in. The resulting sdt-config.h defines _SDT_ASM_SECTION_AUTOGROUP_SUPPORT (either 0 or 1 to indicate whether the assembler supports "?" in .pushsection directives). For now, we assume all currently used assemblers supports this feature and remove the check from the sys/sdt.h header file in a patch. Co-authored-by: Michael Ford <fanquake@gmail.com>
2022-01-04Merge bitcoin/bitcoin#23964: Update test/sanitizer_suppressions/lsanMarcoFalke
1eb5389ee5d612b8dc935b1f59ac949feeae0858 Update test/sanitizer_suppressions/lsan (Hennadii Stepanov) Pull request description: With Qt 5.15.2 in depends it seems we can drop some Leak Sanitizer suppressions now. ACKs for top commit: fanquake: ACK 1eb5389ee5d612b8dc935b1f59ac949feeae0858 given the CI is passing. Did not test anything locally. Tree-SHA512: 657aa390ffa68951a95bfaac6502da57daf2533ffb0ed49b483f056f6242952316515f250ad36890c9f02ca79eccd60f43c16922d5a50acb1508936e780496cc
2022-01-04Merge bitcoin/bitcoin#23947: build: use host_os instead of TARGET_OS in ↵fanquake
configure output 1bf3809dd1d73f24ec5cf658733da76fc2ca36a7 build: use host_os instead of TARGET_OS in configure output (fanquake) Pull request description: `TARGET_OS` was convenient, as a readable host name for most of our targeted platforms, however unless we add more code to configure to detect more hosts, it's easier just use `host_os` (it's also more informative). i.e FreeBSD master ```bash target os = build os = freebsd13.0 ``` this PR: ```bash target os = freebsd13.0 build os = freebsd13.0 ``` ACKs for top commit: hebasto: ACK 1bf3809dd1d73f24ec5cf658733da76fc2ca36a7 Tree-SHA512: 606d92f60ce3f2f6ab1f54e29b5c179048c62ba51336b272c081b1e009128dd83705b181cfe30991c7a51d9c63e8ba2076bfed9e6112e7d1a74a7f947c5754f5
2022-01-04Refactor: Uses c++ init convention for time variablesShashwat
This commit does following changes to time variables in net_processing.h: - Used {} initialization. - Uses universal initializer auto. - Uses chrono::literals The reason for these changes is to make code simpler, and easier to understand and rationalize.