Commit graph

34709 commits

Author SHA1 Message Date
Hennadii Stepanov
156bc89788
ci: Update Windows task image up to visualstudio2022 2022-06-25 11:30:59 +02:00
fanquake
5f082ad4e4
guix: patch LIEF to fix PPC64 NX default
This patches our LIEF build using the change merged upstream:
https://github.com/lief-project/LIEF/pull/718.

This can be dropped the next time we update LIEF.
2022-06-25 10:04:10 +01:00
fanquake
0b5adfda87
guix: use LIEF 0.12.1 2022-06-25 09:44:01 +01:00
fanquake
4b6b4fc537
guix: remove usage of -Wl,-z,noexecstack for PPC64 HOST
The PPC64 ABI has a non-executable stack by default, and does not need a
GNU_STACK program header.

See also:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/powerpc/include/asm/page_64.h#n92
2022-06-25 09:30:57 +01:00
laanwj
0dd3477333
Merge bitcoin/bitcoin#25458: guix: parallelize LIEF build
8d25926643 guix: parallelize LIEF build (fanquake)

Pull request description:

  Even though it's (re)built infrequently, the LIEF build currently runs with a single job, and thus takes much longer to build than it should. This change modifies our packge so that the cmake invocation is done with multiple jobs, using [`parallel-job-count`](https://git.savannah.gnu.org/cgit/guix.git/tree/build-aux/compile-all.scm#n49). On a 6 core arm64 machine, this results in a ~80% speed up, and reduces the time taken to build the LIEF packge from ~19m to ~4m.

  Guix Build (x86_64):
  ```bash
  ba12c164915ec3f5bd916c99f75e074b935028acc7b65914d109b19caf8f86e7  guix-build-8d25926643cb/output/aarch64-linux-gnu/SHA256SUMS.part
  09d062446d8e8edd1c312da83d8fb1a4998880b028afe0bef40336bc0971358f  guix-build-8d25926643cb/output/aarch64-linux-gnu/bitcoin-8d25926643cb-aarch64-linux-gnu-debug.tar.gz
  74f1dad26cca571ee4eafba70537067be610059f770408460ae0216fd2fa4f7f  guix-build-8d25926643cb/output/aarch64-linux-gnu/bitcoin-8d25926643cb-aarch64-linux-gnu.tar.gz
  900e37dd5216f06b6e32af065336a6d1aff2fead13b3394fa521401eefa5b388  guix-build-8d25926643cb/output/arm-linux-gnueabihf/SHA256SUMS.part
  4c8361225f9408cd44e08421ba39a13758bbba2159a4c3f1a5562e83175904af  guix-build-8d25926643cb/output/arm-linux-gnueabihf/bitcoin-8d25926643cb-arm-linux-gnueabihf-debug.tar.gz
  4780381b4e51ed99f6967975291703584e71dd2a22ea6bc77716d597f09bdbdd  guix-build-8d25926643cb/output/arm-linux-gnueabihf/bitcoin-8d25926643cb-arm-linux-gnueabihf.tar.gz
  46e178b38ca9a47ebcd4dd3d037f08c49bf79faf09c032e3a0ec99974bc47bcd  guix-build-8d25926643cb/output/arm64-apple-darwin/SHA256SUMS.part
  e44a9fa027b912a13ceb12708eaf864f5fed896887de8ec157c9c3bba24f9d64  guix-build-8d25926643cb/output/arm64-apple-darwin/bitcoin-8d25926643cb-arm64-apple-darwin-unsigned.dmg
  82bd6c2995f1c707b0204c618f7f16a90a80b5378a856cb287bad4cdf2191467  guix-build-8d25926643cb/output/arm64-apple-darwin/bitcoin-8d25926643cb-arm64-apple-darwin-unsigned.tar.gz
  9b28de51d7adea26ffae22f9a4db517643297aeab24467efe4916088fda496d0  guix-build-8d25926643cb/output/arm64-apple-darwin/bitcoin-8d25926643cb-arm64-apple-darwin.tar.gz
  71d86ffaf1b54b1dfb0ee6a978c2d3c800742d82a7845967becdd88b1ba4cbf4  guix-build-8d25926643cb/output/dist-archive/bitcoin-8d25926643cb.tar.gz
  9c19a5dd32586fa1a3e82a1d7882ac248dc4bd7fe525c0282b245f04d9618e4b  guix-build-8d25926643cb/output/powerpc64-linux-gnu/SHA256SUMS.part
  a091e4dce267164a757067c279d7df609b112867944a3689fbd9b6fefa9dcd40  guix-build-8d25926643cb/output/powerpc64-linux-gnu/bitcoin-8d25926643cb-powerpc64-linux-gnu-debug.tar.gz
  195c8d6596acfe78f1f250b4ec8598c9b8c1e3420b96b8dd16529f194f4f5602  guix-build-8d25926643cb/output/powerpc64-linux-gnu/bitcoin-8d25926643cb-powerpc64-linux-gnu.tar.gz
  78fe3b028498818532ce2120d7262ddddd2533ee58d3d04fc7908d2a3384eac9  guix-build-8d25926643cb/output/powerpc64le-linux-gnu/SHA256SUMS.part
  52fba781d6637751500febb1470dd653933da2cf8f7ae052416438a80a925d7a  guix-build-8d25926643cb/output/powerpc64le-linux-gnu/bitcoin-8d25926643cb-powerpc64le-linux-gnu-debug.tar.gz
  4cb12dce174a58ccb46381efcfc27f9d49ea275cfbda68f334a73c2fa92fe18e  guix-build-8d25926643cb/output/powerpc64le-linux-gnu/bitcoin-8d25926643cb-powerpc64le-linux-gnu.tar.gz
  c8f5eb94bbf9577f59ae2a679e6807ba65380356656cc335d1e13390e17878bc  guix-build-8d25926643cb/output/riscv64-linux-gnu/SHA256SUMS.part
  97e28f9033341f08ab16a4116d593fb4b63da8838da62af49f64f9d6f26b8276  guix-build-8d25926643cb/output/riscv64-linux-gnu/bitcoin-8d25926643cb-riscv64-linux-gnu-debug.tar.gz
  1fb6c289347fbc6c13a7eb189b2a1bdf84c94b16f38dd786bdcc2a8ee0b6d136  guix-build-8d25926643cb/output/riscv64-linux-gnu/bitcoin-8d25926643cb-riscv64-linux-gnu.tar.gz
  1080f0e8e6ee9aff33b47fe90f3f55df368cd3b464bc60eebc1e0092a37bc957  guix-build-8d25926643cb/output/x86_64-apple-darwin/SHA256SUMS.part
  7cd7d4b68e2ec47bcec035b77c956a832453ac1589c7f552285623f5ea84a354  guix-build-8d25926643cb/output/x86_64-apple-darwin/bitcoin-8d25926643cb-x86_64-apple-darwin-unsigned.dmg
  9283cfe406694d7f1edc78acaddd817aebb7f2c7397b21687e4410ab71078773  guix-build-8d25926643cb/output/x86_64-apple-darwin/bitcoin-8d25926643cb-x86_64-apple-darwin-unsigned.tar.gz
  e96b0ad265db5f990c087bc857272c7d6ede32cd89dc8fd201c4fd25b9bdf072  guix-build-8d25926643cb/output/x86_64-apple-darwin/bitcoin-8d25926643cb-x86_64-apple-darwin.tar.gz
  a3ff233ea536e9e6c19eecca54a7703dad901b4aab9b9606a2203af844be7f57  guix-build-8d25926643cb/output/x86_64-linux-gnu/SHA256SUMS.part
  b48d92a330f20cc9cfb8d9574c2e0190e5ee497120f7dbd0bb00e5001605ef3a  guix-build-8d25926643cb/output/x86_64-linux-gnu/bitcoin-8d25926643cb-x86_64-linux-gnu-debug.tar.gz
  d06d54c2bdd66e7031e1ed2da411343c665763e43312eee87a7f575db799a450  guix-build-8d25926643cb/output/x86_64-linux-gnu/bitcoin-8d25926643cb-x86_64-linux-gnu.tar.gz
  7164b2b3caa3ca56dc10098474325f92c328355fee7f1464069b99b72853bab1  guix-build-8d25926643cb/output/x86_64-w64-mingw32/SHA256SUMS.part
  f01a344bd8715479955911a465097bb196daffa04c8c334cab41e22529ad2f5c  guix-build-8d25926643cb/output/x86_64-w64-mingw32/bitcoin-8d25926643cb-win64-debug.zip
  5ae8999fdc66ef75ce87e1824b3fcbbb2278104f3e2a7b50a90d10e92c974673  guix-build-8d25926643cb/output/x86_64-w64-mingw32/bitcoin-8d25926643cb-win64-setup-unsigned.exe
  6beb94dbf0c843d80480901880074e7d1bdf9b9dce2153ac8980c27b484d1fe5  guix-build-8d25926643cb/output/x86_64-w64-mingw32/bitcoin-8d25926643cb-win64-unsigned.tar.gz
  de36858355e4053cd2870782072a073d1d2e39627b4ff7c3d48699f419966d20  guix-build-8d25926643cb/output/x86_64-w64-mingw32/bitcoin-8d25926643cb-win64.zip
  ```

  Guix Build (arm64):
  ```bash
  51703356187e978d0b6a2cafd7533554b9860f1bf934547ea2fa6e673d8c2009  guix-build-8d25926643cb/output/arm-linux-gnueabihf/SHA256SUMS.part
  e66aad4e90f7c88e839fe9c8c322b204d9c480812e5890d6b385aeb67893e3a0  guix-build-8d25926643cb/output/arm-linux-gnueabihf/bitcoin-8d25926643cb-arm-linux-gnueabihf-debug.tar.gz
  382c99aa79a92d9e6854490ee184ac8e7bf1ac1b9ddcab98421d959ba4c4797c  guix-build-8d25926643cb/output/arm-linux-gnueabihf/bitcoin-8d25926643cb-arm-linux-gnueabihf.tar.gz
  82f81c109a11a16cf56a5d4029cf7636c34a351f39902ec99d9b2da40e5b3073  guix-build-8d25926643cb/output/arm64-apple-darwin/SHA256SUMS.part
  e62438b4cb68a5123f2e91c8711b5cd24e1567693b142174321a79c5c9c3e040  guix-build-8d25926643cb/output/arm64-apple-darwin/bitcoin-8d25926643cb-arm64-apple-darwin-unsigned.dmg
  3bd0bc61c2f1d8b30db8dc0fb25a6f73d95416115ccd101922e962852d2f2fd4  guix-build-8d25926643cb/output/arm64-apple-darwin/bitcoin-8d25926643cb-arm64-apple-darwin-unsigned.tar.gz
  3b987efd79203b0257b1590926106b890d08a0e3d3b0c9ea6e3194c3f4d9cab5  guix-build-8d25926643cb/output/arm64-apple-darwin/bitcoin-8d25926643cb-arm64-apple-darwin.tar.gz
  71d86ffaf1b54b1dfb0ee6a978c2d3c800742d82a7845967becdd88b1ba4cbf4  guix-build-8d25926643cb/output/dist-archive/bitcoin-8d25926643cb.tar.gz
  bcfbdf2389275b7982a0f0f02ce6a0032b6c4688a56dee882f0b4da5985bffa5  guix-build-8d25926643cb/output/powerpc64-linux-gnu/SHA256SUMS.part
  61ec34aa20de6281c4749961e09cbdd133e46397bee882fd2c211554b311bc9b  guix-build-8d25926643cb/output/powerpc64-linux-gnu/bitcoin-8d25926643cb-powerpc64-linux-gnu-debug.tar.gz
  8b96152ec8dfde4f2b2046f2c54bd13ea066170a4eaa6b63054fe6e9eabf0427  guix-build-8d25926643cb/output/powerpc64-linux-gnu/bitcoin-8d25926643cb-powerpc64-linux-gnu.tar.gz
  78ae0da590b2c174e3875aceccbd8b3195578408770f4c1c29c2d135aa19d638  guix-build-8d25926643cb/output/powerpc64le-linux-gnu/SHA256SUMS.part
  e755b3cf2a3c2a1671d3d312ab8b45abc0e544e978b01c7645939bb2d5d16a63  guix-build-8d25926643cb/output/powerpc64le-linux-gnu/bitcoin-8d25926643cb-powerpc64le-linux-gnu-debug.tar.gz
  4bdafdc83c7a81cfa152036a5366c09862559002257e1727ff7f930e7f6e6c91  guix-build-8d25926643cb/output/powerpc64le-linux-gnu/bitcoin-8d25926643cb-powerpc64le-linux-gnu.tar.gz
  64bfcba320ebcc81bdaecf932807a6f487b32a52b7ddccb6c794c4f2e0c3e1c3  guix-build-8d25926643cb/output/riscv64-linux-gnu/SHA256SUMS.part
  c0eebeb9e1fb441db397c33b833138facdde0e984c5a3d48b3957487867c98c7  guix-build-8d25926643cb/output/riscv64-linux-gnu/bitcoin-8d25926643cb-riscv64-linux-gnu-debug.tar.gz
  97b2b432cf7c628c9960768057f9c46754c01860c3e77a8baca29465f18ad120  guix-build-8d25926643cb/output/riscv64-linux-gnu/bitcoin-8d25926643cb-riscv64-linux-gnu.tar.gz
  1080f0e8e6ee9aff33b47fe90f3f55df368cd3b464bc60eebc1e0092a37bc957  guix-build-8d25926643cb/output/x86_64-apple-darwin/SHA256SUMS.part
  7cd7d4b68e2ec47bcec035b77c956a832453ac1589c7f552285623f5ea84a354  guix-build-8d25926643cb/output/x86_64-apple-darwin/bitcoin-8d25926643cb-x86_64-apple-darwin-unsigned.dmg
  9283cfe406694d7f1edc78acaddd817aebb7f2c7397b21687e4410ab71078773  guix-build-8d25926643cb/output/x86_64-apple-darwin/bitcoin-8d25926643cb-x86_64-apple-darwin-unsigned.tar.gz
  e96b0ad265db5f990c087bc857272c7d6ede32cd89dc8fd201c4fd25b9bdf072  guix-build-8d25926643cb/output/x86_64-apple-darwin/bitcoin-8d25926643cb-x86_64-apple-darwin.tar.gz
  74ee4531452feffa90874cfd8c96d3b941627bd5cbb4a6977d393a2b08a13e47  guix-build-8d25926643cb/output/x86_64-linux-gnu/SHA256SUMS.part
  15815a3269a2a71047afe635765f79d9b31ba08b62cad09bad17ca865f522afb  guix-build-8d25926643cb/output/x86_64-linux-gnu/bitcoin-8d25926643cb-x86_64-linux-gnu-debug.tar.gz
  6146bf0ffba945d4a21e36fa0857c5bedc091e953a79ad5782008d759b579c94  guix-build-8d25926643cb/output/x86_64-linux-gnu/bitcoin-8d25926643cb-x86_64-linux-gnu.tar.gz
  4c0fbf62b7b76ec14b41eb10cd2f0ae4ef27028044e029a02abad3aa290a6123  guix-build-8d25926643cb/output/x86_64-w64-mingw32/SHA256SUMS.part
  241955fd1c457ba4206814bfdd7652cd4975d68ec905ec9d80a45d3ddd69e0bf  guix-build-8d25926643cb/output/x86_64-w64-mingw32/bitcoin-8d25926643cb-win64-debug.zip
  5ae8999fdc66ef75ce87e1824b3fcbbb2278104f3e2a7b50a90d10e92c974673  guix-build-8d25926643cb/output/x86_64-w64-mingw32/bitcoin-8d25926643cb-win64-setup-unsigned.exe
  6beb94dbf0c843d80480901880074e7d1bdf9b9dce2153ac8980c27b484d1fe5  guix-build-8d25926643cb/output/x86_64-w64-mingw32/bitcoin-8d25926643cb-win64-unsigned.tar.gz
  0eeacc664ad0fb89f177fa6271f8aa573e177804121a7ef2391f06cd56cdc74a  guix-build-8d25926643cb/output/x86_64-w64-mingw32/bitcoin-8d25926643cb-win64.zip
  ```

ACKs for top commit:
  laanwj:
    Code review ACK 8d25926643

Tree-SHA512: 2da8037cc60b28ff210c392785e750f33893d9e0b223ac8c5a66cc3eec8f0558c2af7c31494b6075974180fd0fcf34675b5071fe19ad112f379a7489ef1a1a9a
2022-06-25 08:26:19 +02:00
MacroFake
1da1c0dd66
Merge bitcoin/bitcoin#25456: rpc: Use steady_clock for getrpcinfo durations
fabae3541a rpc: Use steady_clock for getrpcinfo durations (MacroFake)

Pull request description:

  Currently it uses `GetTimeMicros`, which is the system time. Using steady time instead, makes the code type safe and avoids spurious offsets when the system time adjusts.

ACKs for top commit:
  laanwj:
    Code review ACK fabae3541a
  w0xlt:
    Code Review ACK fabae3541a
  shaavan:
    Code Review ACK fabae3541a

Tree-SHA512: eb25fe3e69bf42ec8a2d4aaa69b435de7654b0d07218ce3e0c03ebaef6eb7f713128779057d012621773a34675a81f5757e7b2502c13b82adaf6e2df970d8c66
2022-06-24 17:27:25 +02:00
Ayush Sharma
50ba6697f3 remove unused functions
the functions `create_transaction()` and `create_raw_transaction()` were no longer used hence removed.
2022-06-24 18:04:48 +05:30
Ayush Sharma
eec23dad1e test: remove wallet dependency from feature_nulldummy.py
This test can now be run even with the Bitcoin Core wallet disabled.
2022-06-24 17:56:53 +05:30
MacroFake
fa8a1c0696
rpc: Fix Univalue push_backV OOM in listtransactions 2022-06-24 08:45:44 +02:00
MacroFake
f697c068eb
Merge bitcoin/bitcoin#25438: refactor: remove unused methods in classes CDBIterator,CDBWrapper,CCoinsViewDBCursor
e4b4db5610 refactor: remove unused method `CDBWrapper::CompactRange` (Sebastian Falbesoner)
fb38c6e21f refactor: remove unused methods `{CDBIterator,CCoinsViewDBCursor}::GetValueSize()` (Sebastian Falbesoner)

Pull request description:

  The `GetValueSize` methods haven't been used since the chainstate db cache has been switched from per-tx to per-txout model years ago (PR #10195, commit d342424301). The `CompactRange` is unused since the txindex migration code was removed (PR https://github.com/bitcoin/bitcoin/pull/22626, commit fa20f815a9).

ACKs for top commit:
  fanquake:
    ACK e4b4db5610
  furszy:
    re-ACK e4b4db56
  laanwj:
    Code review ACK e4b4db5610

Tree-SHA512: 77da445fb70c744046263c6f2ddb05782b68e3d4b2ea604dd7c7dc73ce7c1f2d2b48ec68db4dcb03e35fc27488b99b0a420f6fa3d5b83d325c1708ed68e99e0a
2022-06-24 08:09:50 +02:00
Ryan Ofsky
230a2f4cc3 wallet test: Add unit test for wallet scan save_progress option 2022-06-23 17:13:40 -03:00
w0xlt
a89ddfbe22 wallet: Save wallet scan progress
Currently, the wallet scan progress is not saved.
If it is interrupted,  it will be necessary to start from
scratch on the next load.
With this change, progress is saved every 60 seconds.

Co-authored-by: furszy <matiasfurszyfer@protonmail.com>
Co-authored-by: Jon Atack <jon@atack.com>
Co-authored-by: Ryan Ofsky <ryan@ofsky.org>
2022-06-23 17:13:40 -03:00
laanwj
2598720d6c
Merge bitcoin/bitcoin#25457: Use more specific path when including memenv.h header
f3b5c1e452 Use more specific path when including `memenv.h` header (Hennadii Stepanov)

Pull request description:

  This PR makes our code base compatible with `leveldb`'s own CMake [project](https://github.com/bitcoin/bitcoin/blob/master/src/leveldb/CMakeLists.txt).

  Required for https://github.com/hebasto/bitcoin/pull/3.

  As a justification, please note that internally `leveldb` uses `#include "helpers/memenv/memenv.h"` rather `#include "memenv.h"`.

  #### Guix builds on `arm64`:
  ```
  # find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
  0e069318a681f9f848e803e5df8b25426b47ddc8994a21e0b83f0f86e7db7ae0  guix-build-f3b5c1e4522f/output/arm-linux-gnueabihf/SHA256SUMS.part
  e68e1b65514d42f1e33b2754356b68d3ddea1fe9df89d02df51375792867dd8c  guix-build-f3b5c1e4522f/output/arm-linux-gnueabihf/bitcoin-f3b5c1e4522f-arm-linux-gnueabihf-debug.tar.gz
  6b1b5c1f9525e8e467d038751bfc070ed6cbfbd42b17add2faac76fee421343e  guix-build-f3b5c1e4522f/output/arm-linux-gnueabihf/bitcoin-f3b5c1e4522f-arm-linux-gnueabihf.tar.gz
  9f8e941f37aa243fd36c1eaade9b88081b2a27562bfe7d8208d3c6021ecb6f03  guix-build-f3b5c1e4522f/output/arm64-apple-darwin/SHA256SUMS.part
  88cf46d00e67f3493e6ecbb85002ca0ff93dd47af3e93e51d95f92ed3218752f  guix-build-f3b5c1e4522f/output/arm64-apple-darwin/bitcoin-f3b5c1e4522f-arm64-apple-darwin-unsigned.dmg
  5afa9ae6943386ae600d612f1ed4831c0e92011f87284ae25465c2ffc6b8bb2b  guix-build-f3b5c1e4522f/output/arm64-apple-darwin/bitcoin-f3b5c1e4522f-arm64-apple-darwin-unsigned.tar.gz
  0b72a400f842ff31233ced2aadf0b8309ba6695b075b9f4345708dca235f6368  guix-build-f3b5c1e4522f/output/arm64-apple-darwin/bitcoin-f3b5c1e4522f-arm64-apple-darwin.tar.gz
  7912417348175c293002ccd3413ecb53c5a1d29a234959a94bdbd6481bd58d08  guix-build-f3b5c1e4522f/output/dist-archive/bitcoin-f3b5c1e4522f.tar.gz
  f8d28c57dc97fd1e6844fcb2679f2a44fc360ef37aad3fc4185fa1d091baf4b1  guix-build-f3b5c1e4522f/output/powerpc64-linux-gnu/SHA256SUMS.part
  c219a024c95bcdfe28961c18b8118152becf201b00f9e0e28ff35a7a2646fc9b  guix-build-f3b5c1e4522f/output/powerpc64-linux-gnu/bitcoin-f3b5c1e4522f-powerpc64-linux-gnu-debug.tar.gz
  2790ff48593be1699e4175cc31a6cc11fd2e758cdc99220c5a87ddb658d8a794  guix-build-f3b5c1e4522f/output/powerpc64-linux-gnu/bitcoin-f3b5c1e4522f-powerpc64-linux-gnu.tar.gz
  8d13f9f6141776263faceb396cbe3089e5c165523a5da160ba9ec6814744f7d4  guix-build-f3b5c1e4522f/output/powerpc64le-linux-gnu/SHA256SUMS.part
  72c1e8d7a9f2f0ff76c1dd84b4614202ce6734cb8ff29b2cf2cfc20a218d3aa5  guix-build-f3b5c1e4522f/output/powerpc64le-linux-gnu/bitcoin-f3b5c1e4522f-powerpc64le-linux-gnu-debug.tar.gz
  ed0494b336a1ae00050137ed0d18130d5c1213e6d45fada439de4e799ebfb720  guix-build-f3b5c1e4522f/output/powerpc64le-linux-gnu/bitcoin-f3b5c1e4522f-powerpc64le-linux-gnu.tar.gz
  a2a11b57a4a93b0b079c87c303e4c5250b16994d20f87ae362850efc1c181e57  guix-build-f3b5c1e4522f/output/riscv64-linux-gnu/SHA256SUMS.part
  ff63220629ef4b318cc9c2b858204961bc29fd0e901817a39e50e6893925f153  guix-build-f3b5c1e4522f/output/riscv64-linux-gnu/bitcoin-f3b5c1e4522f-riscv64-linux-gnu-debug.tar.gz
  eb0c0b3709a2d4fe9a6c18ad7a14b90a32fe8a5a7d72f75400ae014f2c847264  guix-build-f3b5c1e4522f/output/riscv64-linux-gnu/bitcoin-f3b5c1e4522f-riscv64-linux-gnu.tar.gz
  a82bb28e2a8c6523854f4f9d6ff89d6ba096fff526f17bf6182fd6b2ebf96395  guix-build-f3b5c1e4522f/output/x86_64-apple-darwin/SHA256SUMS.part
  91d2eea67bfde7a363c6ede8c358fb3de842b55cfe428abafa7b5985d619c62c  guix-build-f3b5c1e4522f/output/x86_64-apple-darwin/bitcoin-f3b5c1e4522f-x86_64-apple-darwin-unsigned.dmg
  f3cbc79b8fac7e8a8c9ba63b774cadb5a09cd64cc942e7b68cd1fc566b371021  guix-build-f3b5c1e4522f/output/x86_64-apple-darwin/bitcoin-f3b5c1e4522f-x86_64-apple-darwin-unsigned.tar.gz
  91fb98ed086613bb85959e9fc060ef0f816d5b4d52087b003c6a72ecf1c1309b  guix-build-f3b5c1e4522f/output/x86_64-apple-darwin/bitcoin-f3b5c1e4522f-x86_64-apple-darwin.tar.gz
  62309af3fc8316abd4c8f8285c666c568c140b9312f252a47ca6611fb51fef5e  guix-build-f3b5c1e4522f/output/x86_64-linux-gnu/SHA256SUMS.part
  deb27b75f52fb40cd13bfc6d594ed5ff0d82d1c211e2a6a91b9ca06ee3b8335b  guix-build-f3b5c1e4522f/output/x86_64-linux-gnu/bitcoin-f3b5c1e4522f-x86_64-linux-gnu-debug.tar.gz
  89faeb1f32f0447d26a73253a9f581b40b01982862351a7dd0cee05c8dbf29cc  guix-build-f3b5c1e4522f/output/x86_64-linux-gnu/bitcoin-f3b5c1e4522f-x86_64-linux-gnu.tar.gz
  5de46eec42bcd1e2e0fd3c9c6978a8a945b95411a9051fac9bb8a65d6b4875a5  guix-build-f3b5c1e4522f/output/x86_64-w64-mingw32/SHA256SUMS.part
  3271137a901889a38214173f01f96ae98385ea607e9573eaa2966e68c68401e1  guix-build-f3b5c1e4522f/output/x86_64-w64-mingw32/bitcoin-f3b5c1e4522f-win64-debug.zip
  7a74bf455bffa0d2abb99ce31ea1ef8088928f54c1f3c6e27044392f27e3e752  guix-build-f3b5c1e4522f/output/x86_64-w64-mingw32/bitcoin-f3b5c1e4522f-win64-setup-unsigned.exe
  73a23fd9846e615afcd569adc79fafdcf55b0efa9c383d2d0c9579fb0f79b91a  guix-build-f3b5c1e4522f/output/x86_64-w64-mingw32/bitcoin-f3b5c1e4522f-win64-unsigned.tar.gz
  ee5f3f9eb65f0ac1c0879d0aaa88cf20d8ca9329ba505f77580a0c9b57cd3244  guix-build-f3b5c1e4522f/output/x86_64-w64-mingw32/bitcoin-f3b5c1e4522f-win64.zip
  ```

ACKs for top commit:
  laanwj:
    Code review ACK f3b5c1e452
  fanquake:
    ACK f3b5c1e452

Tree-SHA512: 62e7cf49bc4ce08c8373a0fcfaf4ca10a83d18d0d00bdb21983c25b4b9192ace74acf64362b47faa429d13dbaf63be953fd3aa3b92366603866a472f95ef09a1
2022-06-23 19:32:10 +02:00
fanquake
880d4aaf81
build: use BOOST_NO_CXX98_FUNCTION_BASE to suppress warnings
Boost conatiner_hash (included via functional -> multi_index) uses
std::unary_function, which was deprecated in C++11, and "removed" in
C++17. It's use causes wanrings with newer compilers, i.e GCC 12.1.

```bash
/bitcoin/depends/aarch64-unknown-linux-gnu/include/boost/container_hash/hash.hpp:131:33:
warning: 'template<class _Arg, class _Result> struct std::unary_function' is deprecated [-Wdeprecated-declarations]
  131 |         struct hash_base : std::unary_function<T, std::size_t> {};
      |                                 ^~~~~~~~~~~~~~
In file included from /usr/include/c++/12/bits/unique_ptr.h:37,
                 from /usr/include/c++/12/memory:76,
                 from ./init.h:10,
                 from init.cpp:10:
/usr/include/c++/12/bits/stl_function.h:117:12: note: declared here
  117 |     struct unary_function
```

Use the MACRO outlined in
https://github.com/boostorg/container_hash/issues/22, to prevent it's
use.

BOOST_NO_CXX98_FUNCTION_BASE:
> The standard library no longer supports std::unary_function and std::binary_function.
> They were deprecated in C++11 and is removed from C++14.

See:
https://github.com/boostorg/config/pull/430
https://en.cppreference.com/w/cpp/utility/functional/unary_function
https://www.boost.org/doc/libs/master/libs/config/doc/html/boost_config/boost_macro_reference.html
2022-06-23 17:29:37 +01:00
fanquake
1bdbbbdc46
build: suppress array-bounds errors in libxkbcommon
These occur when building with GCC 12.1.

It might be the case that these would be suppressed by updating the
package, but that would also require installing new build tools (meson),
as well as potentially more dependencies (wayland).

```bash
In function 'ExprCreateBoolean',
    inlined from 'BoolVarCreate' at src/xkbcomp/ast-build.c:316:19:
src/xkbcomp/ast-build.c:119:23: error: array subscript 'ExprDef[0]' is partly outside array bounds of 'unsigned char[32]' [-Werror=array-bounds]
  119 |     expr->boolean.set = set;
      |     ~~~~~~~~~~~~~~~~~~^~~~~
In function 'ExprCreate',
    inlined from 'ExprCreateBoolean' at src/xkbcomp/ast-build.c:118:5,
    inlined from 'BoolVarCreate' at src/xkbcomp/ast-build.c:316:19:
src/xkbcomp/ast-build.c:75:21: note: object of size 32 allocated by 'malloc'
   75 |     ExprDef *expr = malloc(size);
      |                     ^~~~~~~~~~~~
```
2022-06-23 17:29:31 +01:00
fanquake
e05564d706
Merge bitcoin/bitcoin#25446: p2p: Set CNode::m_relays_txs=true when receiving BIP37 filters
e7a9133766 [net processing] Set CNode::m_relays_txs=true when receiving BIP37 filters (dergoegge)

Pull request description:

  This line was accidentally removed in https://github.com/bitcoin/bitcoin/pull/22778.

  Receiving a `filterload` message implies that we should relay txs to the sender (`CNode::m_relays_txs = true`). `CNode::m_relays_txs` is only used for the inbound eviction logic, so removing the line might have slightly changed the eviction behaviour but nothing else.

ACKs for top commit:
  laanwj:
    Code review ACK e7a9133766
  vasild:
    ACK e7a9133766

Tree-SHA512: 19c5df0f579f707c6c7900d12a6b71ac69e802be64f7d2fdcc40ac714c918dc4c17def164592f8836cc105a03daefefca3ca5e10423145eca8db4348c27c9cfc
2022-06-23 16:18:07 +01:00
glozow
e866f0d066 [functional test] submitrawpackage RPC 2022-06-23 14:39:47 +01:00
glozow
fa076515b0 [rpc] add new submitpackage RPC
It could be unsafe/confusing to create an actual mainnet interface while
package relay doesn't exist. However, a regtest-only interface allows
wallet/application devs to test current package policies.
2022-06-23 14:35:04 +01:00
Hennadii Stepanov
f3b5c1e452
Use more specific path when including memenv.h header 2022-06-23 15:33:01 +02:00
MacroFake
fabae3541a
rpc: Use steady_clock for getrpcinfo durations 2022-06-23 15:32:17 +02:00
Sebastian Falbesoner
e4b4db5610 refactor: remove unused method CDBWrapper::CompactRange
This method hasn't been used since the txindex migration code has been
removed (PR #22626, commit fa20f815a9).

Co-authored-by: furszy <matiasfurszyfer@protonmail.com>
2022-06-23 13:59:25 +02:00
fanquake
8d25926643
guix: parallelize LIEF build 2022-06-23 12:01:00 +01:00
MacroFake
01e9e2d1ca
Merge bitcoin/bitcoin#25451: test: -whitebind and -bind with -listen=0 should throw an error
ceec6808d3 test: `-whitebind` and `-bind`  with `-listen=0` should throw an error (brunoerg)

Pull request description:

  This PR adds test coverage for the following init error:
  b9122e95f0/src/init.cpp (L872-L875)

ACKs for top commit:
  laanwj:
    Code review ACK ceec6808d3

Tree-SHA512: 03068abe7199b1235f029871ab87a3dd4943738c592ad62d82cdcd3e0201e627624960bd3ea1fc6fc1e7da4b8e215ba3393d1cb8130e1108049f764e51dc75c0
2022-06-23 12:08:19 +02:00
laanwj
bc83710fdc
Merge bitcoin-core/gui#623: Getting ready to Qt 6 (9/n). Apply Qt 6 specific changes
d8d99d041a qt6: Do not use deprecated high DPI attributes in Qt 6 (Hennadii Stepanov)
8927bb8f06 refactor: Fix style in `initTranslations()` function (Hennadii Stepanov)
ad73447dc2 qt6: Do not use deprecated `QLibraryInfo::path` in Qt 6 (Hennadii Stepanov)
3f51d0b8b2 qt6: Fix type registration (Hennadii Stepanov)

Pull request description:

  One more step in migration to Qt 6.

  Could be tested with hebasto/bitcoin#3 or bitcoin/bitcoin#24798.

  No behavior change when compiling with Qt 5.

ACKs for top commit:
  laanwj:
    Code review ACK d8d99d041a
  jarolrod:
    ACK d8d99d041a

Tree-SHA512: e5f92a80f8622e5f95dd98a90783956a26d3c8382b9ca8e479fb6c152cfdc85a2f6084e78d463ceea1e0f0b3ac72d2b086c8ca24967b2b6070553317e9e3252e
2022-06-23 11:47:51 +02:00
Carl Dong
ccbaf546a6 scripted-diff: Rename DEFAULT_MAX_MEMPOOL_SIZE to indicate SI unit
Better to be explicit when it comes to sizes to avoid unintentional
bugs. We use MB and KB all over the place.

-BEGIN VERIFY SCRIPT-
find_regex="DEFAULT_MAX_MEMPOOL_SIZE" \
    && git grep -l -E "$find_regex" \
        | xargs sed -i -E "s@$find_regex@\0_MB@g"
-END VERIFY SCRIPT-
2022-06-22 18:18:56 -04:00
Carl Dong
fc02f77ca6 ArgsMan: Add Get*Arg functions returning optional
This allows the caller to not provide a default at all and just check
inside the optional to see if the arg was set or not.
2022-06-22 18:18:52 -04:00
brunoerg
ceec6808d3 test: -whitebind and -bind with -listen=0 should throw an error 2022-06-22 15:22:25 -03:00
furszy
d69045e291
test: add coverage for 'listreceivedbyaddress' no change addrs return 2022-06-22 12:51:30 -03:00
furszy
324f00a642
refactor: 'ListReceived' use optional for filtered address
Plus remove open bracket jump line
2022-06-22 12:51:30 -03:00
furszy
b459fc122f
refactor: RPC 'ListReceived', encapsulate m_address_book access 2022-06-22 12:51:30 -03:00
furszy
fa9f2ab8fd
refactor: RPC 'listlabels', encapsulate 'CWallet::ListAddrBookLabels' functionality
Mainly to not access 'm_address_book' externally.
2022-06-22 12:51:30 -03:00
MacroFake
b9122e95f0
Merge bitcoin/bitcoin#25444: ci: macOS task imrovements
0bb7a1f71d ci: Improve naming related to "macOS 12 native x86_64" task (Hennadii Stepanov)
8e017f3288 ci, refactor: Add `MACOS_NATIVE_TASK_TEMPLATE` (Hennadii Stepanov)

Pull request description:

  Split from bitcoin/bitcoin#25160 as [suggested](https://github.com/bitcoin/bitcoin/pull/25160#issuecomment-1162673439).

ACKs for top commit:
  MarcoFalke:
    ACK 0bb7a1f71d 🚘

Tree-SHA512: d50fe8a51a3364e76d1a5394f718e30bd2994ccdaa4bf73c017c5d81bff00539dcff1cd3879c8b4b6b442b7248b0aa6491489a27c6dd7ec1f3e976aa2a03c730
2022-06-22 14:00:03 +02:00
laanwj
ddd7a39aa9
Merge bitcoin/bitcoin#25414: doc: Update Arch Linux build example
f67b6fce37 Update Arch Linux build example (Igor Bubelov)

Pull request description:

  The current build example has two issues:

  1. The claim that the wallet functionality will be missing is obsolete since Bitcoin Core can use SQLite, which is a hard dependency of `pacman` so we can assume that it's always present.
  2. Installing package groups such as `base-devel` adds some friction and uncertainty by forcing readers to choose which packages they need, interactively. Listing required deps explicitly speeds up the whole process, makes it more transparent and cuts the number of installed packages.

ACKs for top commit:
  laanwj:
    re-ACK f67b6fce37

Tree-SHA512: c068dac5d244044827d5d94a4b48f239180301b6870dce31b003fa111a69f7e3a483681a7ea2b3d393d6791b40043685ce2fe62c338cce1b7e37a6db0f02b1a2
2022-06-22 13:17:03 +02:00
laanwj
0808c88d7b
Merge bitcoin/bitcoin#25443: test: Fail if connect_nodes fails
faee330c7b test: Fail if connect_nodes fails (MacroFake)

Pull request description:

  Currently, `connect_nodes` will return silently when the connection is disconnected while connecting. This is confusing, so fix it.

  Can be tested by reverting the signet test change and observing the failure when running the test.

ACKs for top commit:
  laanwj:
    Tested ACK faee330c7b

Tree-SHA512: 641ca8adcb9f5ff33239b143573bddc0dfde41dbd103751ee870f1572ca2469f6a0d4bab6693102454cd3e270ef8251d87fbfac48f6d8adac70d2d6bbffaae56
2022-06-22 12:31:45 +02:00
laanwj
a085a55491
Merge bitcoin/bitcoin#25428: Remove Sock::Release() and CloseSocket()
a724c39606 net: rename Sock::Reset() to Sock::Close() and make it private (Vasil Dimov)
e8ff3f0c52 net: remove CloseSocket() (Vasil Dimov)
175fb2670a net: remove now unused Sock::Release() (Vasil Dimov)

Pull request description:

  _This is a piece of #21878, chopped off to ease review._

  * `Sock::Release()` is unused, thus remove it
  * `CloseSocket()` is only called from `Sock::Reset()`, so move the body of `CloseSocket()` inside `Sock::Reset()` and remove `CloseSocket()` - this helps to hide low level file descriptor sockets inside the `Sock` class.
  * Rename `Sock::Reset()` to `Sock::Close()` and make it `private` - to be used only in the destructor and in the `Sock` assignment operator. This simplifies the public API by removing one method from it.

ACKs for top commit:
  laanwj:
    Code review ACK a724c39606

Tree-SHA512: 4b12586642b3d049092fadcb1877132e285ec66a80af92563a7703c6970e278e0f2064fba45c7eaa78eb65db94b3641fd5e5264f7b4f61116d1a6f3333868639
2022-06-22 11:07:17 +02:00
dergoegge
e7a9133766 [net processing] Set CNode::m_relays_txs=true when receiving BIP37 filters
This line was accidentally removed in #22778.
2022-06-22 11:03:35 +02:00
laanwj
b1a824dd06
Merge bitcoin/bitcoin#24291: build: Remove negated --enable-fuzz checks from build system
fa7cbc6e5c build: Remove negated --enable-fuzz checks from build system (MarcoFalke)

Pull request description:

  It is confusing to enable the unit test binary with `ENABLE_TESTS && !ENABLE_FUZZ`, but every other binary is enabled with a simple flag. For example `ENABLE_BENCH`, or `ENABLE_FUZZ_BINARY`.

  Fix that by turning `ENABLE_TESTS` back into meaning "enable unit test binary".

ACKs for top commit:
  laanwj:
    Code review re-ACK fa7cbc6e5c

Tree-SHA512: 2eca26d365fe1d60ff7b87c882a441273cc64bc5eefdc10ec1a0975db24f9b47f591ce8ef53f14eb02d8e3271510e503bfd1a3d09a5d1b35fe44f531f318e87e
2022-06-22 10:29:42 +02:00
Hennadii Stepanov
0bb7a1f71d
ci: Improve naming related to "macOS 12 native x86_64" task 2022-06-22 10:15:16 +02:00
Hennadii Stepanov
8e017f3288
ci, refactor: Add MACOS_NATIVE_TASK_TEMPLATE
A native macOS task does not aware of Linux container settings, and it
does not use the `depends_built_cache`.
2022-06-22 10:14:34 +02:00
MarcoFalke
fa1fe2e500
Remove LOCKTIME_MEDIAN_TIME_PAST constant 2022-06-22 09:54:15 +02:00
MarcoFalke
fa07f84e31
Fix signed integer overflow in prioritisetransaction RPC 2022-06-22 09:32:09 +02:00
MarcoFalke
fa52cf8e11
refactor: Replace feeDelta by m_modified_fee
* feeDelta tracked the delta (to be applied on top of the actual fee)
* m_modified_fee tracks the actual fee with the delta included
* Instead of passing in the new total delta to the Updater, pass in by
  how much the total delta should be modified.

This is needed for the next commit, but makes sense on its own because
the same is done by UpdateDescendantState and UpdateAncestorState.
2022-06-22 09:32:07 +02:00
Vasil Dimov
a724c39606
net: rename Sock::Reset() to Sock::Close() and make it private
Outside of `Sock`, `Sock::Reset()` was used in just one place (in
`i2p.cpp`) which can use the assignment operator instead.

This simplifies the public `Sock` API by having one method less.
2022-06-22 09:19:43 +02:00
MacroFake
faee330c7b
test: Fail if connect_nodes fails
Also replace the use of wait_until_helper, which is not allowed to be
called directly. Otherwise, --timeout-factor will not be honoured.
2022-06-22 09:15:33 +02:00
MarcoFalke
fa7cbc6e5c
build: Remove negated --enable-fuzz checks from build system 2022-06-22 08:12:23 +02:00
Igor Bubelov
f67b6fce37 Update Arch Linux build example 2022-06-22 13:12:03 +07:00
MacroFake
e3b06e8dd8
Merge bitcoin/bitcoin#25440: log: Use consistent wording in random.cpp log
c01ae8f5ea Use consistent wording in log (Igor Bubelov)

Pull request description:

  It's a trivial change, but it bothers me a bit that two log lines in a row aren't grammatically identical while following exactly the same pattern. I've read `contributing.md` and I'm aware that changes like this are usually being ignored and dropped, but I decided to leave it here anyway in case someone feels the same way about inconsistent log messages or grammar =)

ACKs for top commit:
  laanwj:
    Code review ACK c01ae8f5ea

Tree-SHA512: d5b3849b3a6e3de7ea9b468c05f17cacd1dbd1aca2f3401b5138383dc8d385cea9e221db558ab472c1c4c7f6921d57dcc7af89a54776c5765fa00e429694b4e7
2022-06-22 07:49:22 +02:00
MacroFake
1b71c76886
Merge bitcoin/bitcoin#25435: test: Remove from_node from create_self_transfer* MiniWallet helpers
fa8421bc5b test: Remove from_node from create_self_transfer* MiniWallet helpers (MacroFake)

Pull request description:

  MiniWallet is capable to create a transaction without a node, so don't pass it in where not needed.

ACKs for top commit:
  kouloumos:
    ACK fa8421bc5b
  theStack:
    ACK fa8421bc5b

Tree-SHA512: d51e2ae6577c1e2bc80386678ff5c7974609e86317850aaec45cdbf0d23076ba1ae76342610c8f90931a6c0971c8e916864442b041a253212e6a9d476d79c541
2022-06-22 07:32:03 +02:00
laanwj
a4e066af85
Merge bitcoin/bitcoin#24352: Add doc/design/libraries.md
dc1e7ad7a5 Add doc/design/libraries.md (Ryan Ofsky)

Pull request description:

  Prompted by the [libbitcoinkernel issue #24303](https://github.com/bitcoin/bitcoin/issues/24303) and PRs, I started looking at  existing libraries and what their dependencies are and wrote this document to describe them and where `libbitcoinkernel` fits in.

  Readable link is:  https://github.com/ryanofsky/bitcoin/blob/pr/libs/doc/design/libraries.md

  Feedback is welcome

ACKs for top commit:
  laanwj:
    ACK dc1e7ad7a5
  hebasto:
    Approach ACK dc1e7ad7a5, using this doc as a guide in https://github.com/hebasto/bitcoin/pull/3 :)

Tree-SHA512: 7687b1847797c50de1f5ea721bd201cc8304690064743fbe6d69e2198cc239084e9da7d158be65bea948a6ec3d71d74c84122c0e523c390b389b49ea8d2cddc9
2022-06-22 07:13:17 +02:00
laanwj
58b9d6cf9e
Merge bitcoin-core/gui#620: Replace QRegExp with QRegularExpression
67364ebe4c test, qt: Add tests for `GUIUtil::extractFirstSuffixFromFilter` (w0xlt)
ace9af5688 qt: Replace `QRegExp` with `QRegularExpression` (w0xlt)
c378535e28 qt: Add a function that extracts the suffix from a filter (w0xlt)

Pull request description:

  Picking up https://github.com/bitcoin-core/gui/pull/606 (labeled "Up for grabs") and applying https://github.com/bitcoin-core/gui/pull/606#pullrequestreview-984607067 and https://github.com/bitcoin-core/gui/pull/606#issuecomment-1137149907.

  Replaces occurrences of `QRegExp` usage with `QRegularExpression` as part of the roadmap for Qt6 integration.

  Fixes https://github.com/bitcoin-core/gui/issues/578

ACKs for top commit:
  laanwj:
    Code review and lightly tested ACK 67364ebe4c
  hebasto:
    ACK 67364ebe4c

Tree-SHA512: 4a17d83e557bc635cbd1a15776856e9edb7162b23a369ccbd2ac59c68b8a1ea663baaa7d5ad98e419dc03b91ef3315c768eeadc01c0b29162de109493161e814
2022-06-22 07:12:10 +02:00