aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-08-19fs: work around u8path deprecated-declaration warnings with libc++fanquake
When building in c++20 mode using libc++, the following warning is emitted: ```bash ./fs.h:72:29: warning: 'u8path<std::string>' is deprecated [-Wdeprecated-declarations] return std::filesystem::u8path(utf8_str); ^ /usr/lib/llvm-14/bin/../include/c++/v1/__filesystem/u8path.h:72:27: note: 'u8path<std::string>' has been explicitly marked deprecated here _LIBCPP_INLINE_VISIBILITY _LIBCPP_DEPRECATED_WITH_CHAR8_T ^ /usr/lib/llvm-14/bin/../include/c++/v1/__config:1042:43: note: expanded from macro '_LIBCPP_DEPRECATED_WITH_CHAR8_T' ^ /usr/lib/llvm-14/bin/../include/c++/v1/__config:1007:48: note: expanded from macro '_LIBCPP_DEPRECATED' ^ 1 warning generated. ``` as u8path<std::string> is deprecated starting with c++20. Fixes: #24682. Co-authored-by: MacroFake <falke.marco@gmail.com> Co-authored-by: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com>
2022-08-18Merge bitcoin/bitcoin#25827: descriptor: check if `rawtr` has only one key.Andrew Chow
416ceb8661117235c76f2985512473ebbc64956b descriptor: check if `rawtr` has only one key. (w0xlt) Pull request description: If I understand `rawtr` descriptor correctly, it should only allow `rawtr(KEY)`, not `rawtr(KEY1, KEY2, ...)` or other concatenations. On master branch, `rawtr(KEY1, KEY2, ...)` will produce the `rawtr(KEY1)` descriptor ignoring the `KEY2, ...` with no error messages or warnings. For example, the code below will print `rawtr(tprv8ZgxMBicQKsPefef2Doobbq3xTCaVTHcDn6me82KSXY1vY9AJAWD5u7SDM4XGLfc4EoXRMFrJKpp6HNmQWA3FTMRQeEmMJYJ9RPqe9ne2hU/*)#lx9qryfh` for the supposedly invalid descriptor `rawtr(tprv8ZgxMBicQKsPefef2Doobbq3xTCaVTHcDn6me82KSXY1vY9AJAWD5u7SDM4XGLfc4EoXRMFrJKpp6HNmQWA3FTMRQeEmMJYJ9RPqe9ne2hU/*, tprv8ZgxMBicQKsPezQ2KGArMRovTEbCGxaLgBgaVcTvEx8mby8ogX2bgC4HBapH4yMwrz2FpoCuA17eocuUVMgEP6fnm83YpwSDTFrumw42bny/*)` ```python self.nodes[1].createwallet(wallet_name="rawtr_multi", descriptors=True, blank=True) rawtr_multi = self.nodes[1].get_wallet_rpc("rawtr_multi") rawtr_multi_desc = "rawtr(tprv8ZgxMBicQKsPefef2Doobbq3xTCaVTHcDn6me82KSXY1vY9AJAWD5u7SDM4XGLfc4EoXRMFrJKpp6HNmQWA3FTMRQeEmMJYJ9RPqe9ne2hU/*, tprv8ZgxMBicQKsPezQ2KGArMRovTEbCGxaLgBgaVcTvEx8mby8ogX2bgC4HBapH4yMwrz2FpoCuA17eocuUVMgEP6fnm83YpwSDTFrumw42bny/*)#uv78hkt0" result = rawtr_multi.importdescriptors([{"desc": rawtr_multi_desc, "active": True, "timestamp": "now"}]) print(rawtr_multi.listdescriptors(True)) ``` This PR adds a check that prevents `rawtr` descriptors from being created if more than one key is entered, shows an error message, and adds a test for this case. ACKs for top commit: achow101: ACK 416ceb8661117235c76f2985512473ebbc64956b sipa: ACK 416ceb8661117235c76f2985512473ebbc64956b Tree-SHA512: a2009e91f1bca6ee79cc68f65811caa6a21fc8b80acd8dc58e283f424b41fe53b0db7ce3693b1c7e2184ff571e6d1fbb9f5ccde89b65d3026726f3393c492044
2022-08-17Merge bitcoin/bitcoin#25748: refactor: Avoid copies in FlatSigningProvider MergeAndrew Chow
fa3f15f2dd94ae597a66037f5928fe4e90fe099d refactor: Avoid copies in FlatSigningProvider Merge (MacroFake) Pull request description: `Merge` will create several copies unconditionally: * To initialize the args `a`, and `b` * `ret`, which is the merge of the two args So change the code to let the caller decide how many copies they need/want: * `a`, and `b` must be explicitly moved or copied by the caller * `ret` is no longer needed, as `a` can be used for it in place "for free" ACKs for top commit: achow101: ACK fa3f15f2dd94ae597a66037f5928fe4e90fe099d furszy: looks good, ACK fa3f15f2 ryanofsky: Code review ACK fa3f15f2dd94ae597a66037f5928fe4e90fe099d. Confirmed that all the places `std::move` was added the argument actually did seem safe to move from. Compiler enforces that temporary copies are explicitly created in non-move cases. Tree-SHA512: 7c027ccdea1549cd9f37403344ecbb76e008adf545f6ce52996bf95e89eb7dc89af6cb31435a9289d6f2eea1c416961b2fb96348bc8a211d550728f1d99ac49c
2022-08-17descriptor: check if `rawtr` has only one key.w0xlt
2022-08-17Merge bitcoin/bitcoin#25077: Fix chain tip data race and corrupt rest responsefanquake
fac04cb6ba1d032587bd02eab2247fd655a548cd refactor: Add lock annotations to Active* methods (MacroFake) fac15ff673f0d6f84ea1eaae855597da02b0e510 Fix logical race in rest_getutxos (MacroFake) fa97a528d6382a0163d5aa7d37ecbf93579b8186 Fix UB/data-race in RPCNotifyBlockChange (MacroFake) fa530bcb9c13b58ab1b2068b48aa3fff910e2f87 Add ChainstateManager::GetMutex(), an alias for ::cs_main (MacroFake) Pull request description: This fixes two issues: * A data race in `ActiveChain`, which returns a reference to the chain (a `std::vector`), which is not thread safe. See also below traceback. * A corrupt rest response, which returns a blockheight and blockhash, which are unrelated to each other and to the result, as the chain might advance between each call without cs_main held. The issues are fixed by taking cs_main and holding it for the required time. ``` ================== WARNING: ThreadSanitizer: data race (pid=32335) Write of size 8 at 0x7b3c000008f0 by thread T22 (mutexes: write M131626, write M151, write M131553): #0 std::__1::enable_if<(is_move_constructible<CBlockIndex**>::value) && (is_move_assignable<CBlockIndex**>::value), void>::type std::__1::swap<CBlockIndex**>(CBlockIndex**&, CBlockIndex**&) /usr/lib/llvm-13/bin/../include/c++/v1/__utility/swap.h:39:7 (bitcoind+0x501239) #1 std::__1::vector<CBlockIndex*, std::__1::allocator<CBlockIndex*> >::__swap_out_circular_buffer(std::__1::__split_buffer<CBlockIndex*, std::__1::allocator<CBlockIndex*>&>&) /usr/lib/llvm-13/bin/../include/c++/v1/vector:977:5 (bitcoind+0x501239) #2 std::__1::vector<CBlockIndex*, std::__1::allocator<CBlockIndex*> >::__append(unsigned long) /usr/lib/llvm-13/bin/../include/c++/v1/vector:1117:9 (bitcoind+0x501239) #3 std::__1::vector<CBlockIndex*, std::__1::allocator<CBlockIndex*> >::resize(unsigned long) /usr/lib/llvm-13/bin/../include/c++/v1/vector:2046:15 (bitcoind+0x4ffe29) #4 CChain::SetTip(CBlockIndex*) src/chain.cpp:19:12 (bitcoind+0x4ffe29) #5 CChainState::ConnectTip(BlockValidationState&, CBlockIndex*, std::__1::shared_ptr<CBlock const> const&, ConnectTrace&, DisconnectedBlockTransactions&) src/validation.cpp:2748:13 (bitcoind+0x475d00) #6 CChainState::ActivateBestChainStep(BlockValidationState&, CBlockIndex*, std::__1::shared_ptr<CBlock const> const&, bool&, ConnectTrace&) src/validation.cpp:2884:18 (bitcoind+0x47739e) #7 CChainState::ActivateBestChain(BlockValidationState&, std::__1::shared_ptr<CBlock const>) src/validation.cpp:3011:22 (bitcoind+0x477baf) #8 node::ThreadImport(ChainstateManager&, std::__1::vector<fs::path, std::__1::allocator<fs::path> >, ArgsManager const&) src/node/blockstorage.cpp:883:30 (bitcoind+0x23cd74) #9 AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7::operator()() const src/init.cpp:1657:9 (bitcoind+0x15863e) #10 decltype(static_cast<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&>(fp)()) std::__1::__invoke<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&>(AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&) /usr/lib/llvm-13/bin/../include/c++/v1/type_traits:3918:1 (bitcoind+0x15863e) #11 void std::__1::__invoke_void_return_wrapper<void, true>::__call<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&>(AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&) /usr/lib/llvm-13/bin/../include/c++/v1/__functional/invoke.h:61:9 (bitcoind+0x15863e) #12 std::__1::__function::__alloc_func<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7, std::__1::allocator<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>, void ()>::operator()() /usr/lib/llvm-13/bin/../include/c++/v1/__functional/function.h:171:16 (bitcoind+0x15863e) #13 std::__1::__function::__func<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7, std::__1::allocator<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>, void ()>::operator()() /usr/lib/llvm-13/bin/../include/c++/v1/__functional/function.h:345:12 (bitcoind+0x15863e) #14 std::__1::__function::__value_func<void ()>::operator()() const /usr/lib/llvm-13/bin/../include/c++/v1/__functional/function.h:498:16 (bitcoind+0x88891f) #15 std::__1::function<void ()>::operator()() const /usr/lib/llvm-13/bin/../include/c++/v1/__functional/function.h:1175:12 (bitcoind+0x88891f) #16 util::TraceThread(char const*, std::__1::function<void ()>) src/util/thread.cpp:18:9 (bitcoind+0x88891f) #17 decltype(static_cast<void (*>(fp)(static_cast<char const*>(fp0), static_cast<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>(fp0))) std::__1::__invoke<void (*)(char const*, std::__1::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>(void (*&&)(char const*, std::__1::function<void ()>), char const*&&, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&&) /usr/lib/llvm-13/bin/../include/c++/v1/type_traits:3918:1 (bitcoind+0x157e6a) #18 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(char const*, std::__1::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7, 2ul, 3ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(char const*, std::__1::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>&, std::__1::__tuple_indices<2ul, 3ul>) /usr/lib/llvm-13/bin/../include/c++/v1/thread:280:5 (bitcoind+0x157e6a) #19 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(char const*, std::__1::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7> >(void*) /usr/lib/llvm-13/bin/../include/c++/v1/thread:291:5 (bitcoind+0x157e6a) Previous read of size 8 at 0x7b3c000008f0 by main thread: #0 std::__1::vector<CBlockIndex*, std::__1::allocator<CBlockIndex*> >::size() const /usr/lib/llvm-13/bin/../include/c++/v1/vector:680:61 (bitcoind+0x15179d) #1 CChain::Tip() const src/./chain.h:449:23 (bitcoind+0x15179d) #2 ChainstateManager::ActiveTip() const src/./validation.h:927:59 (bitcoind+0x15179d) #3 AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*) src/init.cpp:1841:35 (bitcoind+0x15179d) #4 AppInit(node::NodeContext&, int, char**) src/bitcoind.cpp:231:43 (bitcoind+0x133fd2) #5 main src/bitcoind.cpp:275:13 (bitcoind+0x133fd2) Location is heap block of size 232 at 0x7b3c00000870 allocated by main thread: #0 operator new(unsigned long) <null> (bitcoind+0x132668) #1 ChainstateManager::InitializeChainstate(CTxMemPool*, std::__1::optional<uint256> const&) src/validation.cpp:4851:21 (bitcoind+0x48e26b) #2 node::LoadChainstate(bool, ChainstateManager&, CTxMemPool*, bool, Consensus::Params const&, bool, long, long, long, bool, bool, std::__1::function<bool ()>, std::__1::function<void ()>) src/node/chainstate.cpp:31:14 (bitcoind+0x24de07) #3 AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*) src/init.cpp:1438:32 (bitcoind+0x14e994) #4 AppInit(node::NodeContext&, int, char**) src/bitcoind.cpp:231:43 (bitcoind+0x133fd2) #5 main src/bitcoind.cpp:275:13 (bitcoind+0x133fd2) Mutex M131626 (0x7b3c00000898) created at: #0 pthread_mutex_lock <null> (bitcoind+0xda898) #1 std::__1::mutex::lock() <null> (libc++.so.1+0x49f35) #2 node::ThreadImport(ChainstateManager&, std::__1::vector<fs::path, std::__1::allocator<fs::path> >, ArgsManager const&) src/node/blockstorage.cpp:883:30 (bitcoind+0x23cd74) #3 AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7::operator()() const src/init.cpp:1657:9 (bitcoind+0x15863e) #4 decltype(static_cast<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&>(fp)()) std::__1::__invoke<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&>(AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&) /usr/lib/llvm-13/bin/../include/c++/v1/type_traits:3918:1 (bitcoind+0x15863e) #5 void std::__1::__invoke_void_return_wrapper<void, true>::__call<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&>(AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&) /usr/lib/llvm-13/bin/../include/c++/v1/__functional/invoke.h:61:9 (bitcoind+0x15863e) #6 std::__1::__function::__alloc_func<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7, std::__1::allocator<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>, void ()>::operator()() /usr/lib/llvm-13/bin/../include/c++/v1/__functional/function.h:171:16 (bitcoind+0x15863e) #7 std::__1::__function::__func<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7, std::__1::allocator<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>, void ()>::operator()() /usr/lib/llvm-13/bin/../include/c++/v1/__functional/function.h:345:12 (bitcoind+0x15863e) #8 std::__1::__function::__value_func<void ()>::operator()() const /usr/lib/llvm-13/bin/../include/c++/v1/__functional/function.h:498:16 (bitcoind+0x88891f) #9 std::__1::function<void ()>::operator()() const /usr/lib/llvm-13/bin/../include/c++/v1/__functional/function.h:1175:12 (bitcoind+0x88891f) #10 util::TraceThread(char const*, std::__1::function<void ()>) src/util/thread.cpp:18:9 (bitcoind+0x88891f) #11 decltype(static_cast<void (*>(fp)(static_cast<char const*>(fp0), static_cast<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>(fp0))) std::__1::__invoke<void (*)(char const*, std::__1::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>(void (*&&)(char const*, std::__1::function<void ()>), char const*&&, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&&) /usr/lib/llvm-13/bin/../include/c++/v1/type_traits:3918:1 (bitcoind+0x157e6a) #12 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(char const*, std::__1::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7, 2ul, 3ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(char const*, std::__1::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>&, std::__1::__tuple_indices<2ul, 3ul>) /usr/lib/llvm-13/bin/../include/c++/v1/thread:280:5 (bitcoind+0x157e6a) #13 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(char const*, std::__1::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7> >(void*) /usr/lib/llvm-13/bin/../include/c++/v1/thread:291:5 (bitcoind+0x157e6a) Mutex M151 (0x55aacb8ea030) created at: #0 pthread_mutex_init <null> (bitcoind+0xbed2f) #1 std::__1::recursive_mutex::recursive_mutex() <null> (libc++.so.1+0x49fb3) #2 __libc_start_main <null> (libc.so.6+0x29eba) Mutex M131553 (0x7b4c000042e0) created at: #0 pthread_mutex_init <null> (bitcoind+0xbed2f) #1 std::__1::recursive_mutex::recursive_mutex() <null> (libc++.so.1+0x49fb3) #2 std::__1::__unique_if<CTxMemPool>::__unique_single std::__1::make_unique<CTxMemPool, CBlockPolicyEstimator*, int const&>(CBlockPolicyEstimator*&&, int const&) /usr/lib/llvm-13/bin/../include/c++/v1/__memory/unique_ptr.h:728:32 (bitcoind+0x15c81d) #3 AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*) src/init.cpp:1426:24 (bitcoind+0x14e7b4) #4 AppInit(node::NodeContext&, int, char**) src/bitcoind.cpp:231:43 (bitcoind+0x133fd2) #5 main src/bitcoind.cpp:275:13 (bitcoind+0x133fd2) Thread T22 'b-loadblk' (tid=32370, running) created by main thread at: #0 pthread_create <null> (bitcoind+0xbd5bd) #1 std::__1::__libcpp_thread_create(unsigned long*, void* (*)(void*), void*) /usr/lib/llvm-13/bin/../include/c++/v1/__threading_support:443:10 (bitcoind+0x155e06) #2 std::__1::thread::thread<void (*)(char const*, std::__1::function<void ()>), char const (&) [8], AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7, void>(void (*&&)(char const*, std::__1::function<void ()>), char const (&) [8], AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7&&) /usr/lib/llvm-13/bin/../include/c++/v1/thread:307:16 (bitcoind+0x155e06) #3 AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*) src/init.cpp:1656:29 (bitcoind+0x150164) #4 AppInit(node::NodeContext&, int, char**) src/bitcoind.cpp:231:43 (bitcoind+0x133fd2) #5 main src/bitcoind.cpp:275:13 (bitcoind+0x133fd2) SUMMARY: ThreadSanitizer: data race /usr/lib/llvm-13/bin/../include/c++/v1/__utility/swap.h:39:7 in std::__1::enable_if<(is_move_constructible<CBlockIndex**>::value) && (is_move_assignable<CBlockIndex**>::value), void>::type std::__1::swap<CBlockIndex**>(CBlockIndex**&, CBlockIndex**&) ================== ``` From https://cirrus-ci.com/task/5612886578954240?logs=ci#L4868 ACKs for top commit: achow101: re-ACK fac04cb6ba1d032587bd02eab2247fd655a548cd theStack: Code-review ACK fac04cb6ba1d032587bd02eab2247fd655a548cd Tree-SHA512: 9d619f99ff6373874c7ffe1db20674575605646b4b54b692fb54515a4a49f110a770026d7320ed6dfeaa7976be4cd89e93f821acdbf22c7662bd1c5be0cedcd2
2022-08-17Merge bitcoin/bitcoin#25829: build: include share/rpcauth in release tarballfanquake
495caa9a0149a87c4148fbae1b622c998c019d40 build: add example bitcoin conf to win installer (fanquake) 0eac1f7ba49eacf7a87fcb25dff762c4d28a2509 build: include share/rpcauth in tarball & installer (fanquake) Pull request description: Fixes #19081. Addresses: https://github.com/bitcoin/bitcoin/pull/22235#discussion_r946359661. Guix Build (x86_64): ```bash bdc14efe02553703f3f27438b17ee452fc0b08e37f626830857c60a7740ec990 guix-build-495caa9a0149/output/aarch64-linux-gnu/SHA256SUMS.part 0c541efd8e2e52f1915cab13c935f165f906e46590175d568be34e026b5f0d9e guix-build-495caa9a0149/output/aarch64-linux-gnu/bitcoin-495caa9a0149-aarch64-linux-gnu-debug.tar.gz 5ee15e11e0d52d5a2df6b6a60e4ae5b3adc4b259294ad53452478f28efbe70c8 guix-build-495caa9a0149/output/aarch64-linux-gnu/bitcoin-495caa9a0149-aarch64-linux-gnu.tar.gz 451152a282fd79db45a09e0ccb3491e3044ea5ad0931dfe2820bb5c45839a311 guix-build-495caa9a0149/output/arm-linux-gnueabihf/SHA256SUMS.part b88159ac78d427556e7f70e5da3b849da5491c98fa08c16c25adbfa8e3b44b58 guix-build-495caa9a0149/output/arm-linux-gnueabihf/bitcoin-495caa9a0149-arm-linux-gnueabihf-debug.tar.gz 54b59e4d06144d18b97a0260330383dafdcf3473b560c71f6304a8d1b9ef0100 guix-build-495caa9a0149/output/arm-linux-gnueabihf/bitcoin-495caa9a0149-arm-linux-gnueabihf.tar.gz 784f43a651ed6f9335117ca971c7c215eba536414792edf72a0dc372c901c3fa guix-build-495caa9a0149/output/arm64-apple-darwin/SHA256SUMS.part ace525b20dc4789c931cf781027680e5fe35bd987c8d1908590cd83ce7e44495 guix-build-495caa9a0149/output/arm64-apple-darwin/bitcoin-495caa9a0149-arm64-apple-darwin-unsigned.dmg 1ab6d5d91040567e4fccb4e2de49789f78bd1ce9b4a496486d837904591bfbc6 guix-build-495caa9a0149/output/arm64-apple-darwin/bitcoin-495caa9a0149-arm64-apple-darwin-unsigned.tar.gz a5cd681e67beda05cac83d133d6996699effb12b9830b269669057d02b0a4eef guix-build-495caa9a0149/output/arm64-apple-darwin/bitcoin-495caa9a0149-arm64-apple-darwin.tar.gz 01cc3a078a952ed9bbff38e79bad4885a5f8502906498f7b909cb2cc798ada64 guix-build-495caa9a0149/output/dist-archive/bitcoin-495caa9a0149.tar.gz d4652f912573d0c9ce11d7e84fad10ad03f67247f85b0a5d9c47db74508705ce guix-build-495caa9a0149/output/powerpc64-linux-gnu/SHA256SUMS.part 76facbb81819b2d81afd61e2234b65d99c9e28b28f2b1d3ee2d7119cf192ba60 guix-build-495caa9a0149/output/powerpc64-linux-gnu/bitcoin-495caa9a0149-powerpc64-linux-gnu-debug.tar.gz a75cef05abb05da4a1ba81669f6a66ecc790946b6b2fd3749bad0b462bb50219 guix-build-495caa9a0149/output/powerpc64-linux-gnu/bitcoin-495caa9a0149-powerpc64-linux-gnu.tar.gz 2b2ac79848a643f025960cabca2694cb3537d72d83477ed1b53bcc6e2ee11ce4 guix-build-495caa9a0149/output/powerpc64le-linux-gnu/SHA256SUMS.part d0542623109fb72d72dcd06f8de30edefdd7e0f1bf46a7be7c262c0e631c49d8 guix-build-495caa9a0149/output/powerpc64le-linux-gnu/bitcoin-495caa9a0149-powerpc64le-linux-gnu-debug.tar.gz b85dbcbe4f50cbddcd167568d31326d62e786720cb237aaf3d11b69394f01983 guix-build-495caa9a0149/output/powerpc64le-linux-gnu/bitcoin-495caa9a0149-powerpc64le-linux-gnu.tar.gz a85a00d353338d2e72a4218782e05a816f21aea0637eb21742c55ee9a9ce1f7b guix-build-495caa9a0149/output/riscv64-linux-gnu/SHA256SUMS.part e10561b08a91a22947ead27b6d4a07581fa566eb3e5d8161f97b2ff2708b85f4 guix-build-495caa9a0149/output/riscv64-linux-gnu/bitcoin-495caa9a0149-riscv64-linux-gnu-debug.tar.gz 994aca800c2580349a436fb1fa8195cd943363dee5c3ee7c91d726cc95cd3068 guix-build-495caa9a0149/output/riscv64-linux-gnu/bitcoin-495caa9a0149-riscv64-linux-gnu.tar.gz 5a063e6dbf64aca4a639fea10fcff2f7a533819607558cec25a9a88bc575c0dc guix-build-495caa9a0149/output/x86_64-apple-darwin/SHA256SUMS.part e7f36749c3a48ce7173ee100abb275eb217eee2713d52d8b576f8c749e0c2e9e guix-build-495caa9a0149/output/x86_64-apple-darwin/bitcoin-495caa9a0149-x86_64-apple-darwin-unsigned.dmg b0289c6caba5e092d8e287c9cb4f328844bce04fce74de91e76821423b7b8153 guix-build-495caa9a0149/output/x86_64-apple-darwin/bitcoin-495caa9a0149-x86_64-apple-darwin-unsigned.tar.gz 2bf983abcfd0d782632ef7fb116ba169a0b282264774c032a50beca016468ed0 guix-build-495caa9a0149/output/x86_64-apple-darwin/bitcoin-495caa9a0149-x86_64-apple-darwin.tar.gz 72705350ab34f8d33ef98e5563f36aa82f15e7b450e3914f591b9c88e8b385da guix-build-495caa9a0149/output/x86_64-linux-gnu/SHA256SUMS.part 7b5285bfd28acf8ae1471807962d31857afe70e13ae087a8aec83d5a8ac1a184 guix-build-495caa9a0149/output/x86_64-linux-gnu/bitcoin-495caa9a0149-x86_64-linux-gnu-debug.tar.gz 6544591754607792b731fe630bf8235e78e08c7edb4d1d210b35d6328240acc1 guix-build-495caa9a0149/output/x86_64-linux-gnu/bitcoin-495caa9a0149-x86_64-linux-gnu.tar.gz bbd6490489ddfde06b6cde602d317d84c09495de3cf033016ea0ba5e60770fdb guix-build-495caa9a0149/output/x86_64-w64-mingw32/SHA256SUMS.part f48f6efcf5822517a697d990eddbc03011b08c5e4be4886e25ab65c8a0951aaa guix-build-495caa9a0149/output/x86_64-w64-mingw32/bitcoin-495caa9a0149-win64-debug.zip b1a83e58d7b316c4743ae16d552f615aa710a4985ded5834d1de6fe6437ca3b2 guix-build-495caa9a0149/output/x86_64-w64-mingw32/bitcoin-495caa9a0149-win64-setup-unsigned.exe 0196abf8cb27f3cb03b4688a85a97c26975db4938f7a2dc0a09f11847f6530bb guix-build-495caa9a0149/output/x86_64-w64-mingw32/bitcoin-495caa9a0149-win64-unsigned.tar.gz 426994640e85f82b3d3bee25f07930f952edf4a60ecd7ba41f83c82cbbcc63d1 guix-build-495caa9a0149/output/x86_64-w64-mingw32/bitcoin-495caa9a0149-win64.zip ``` Guix Build (arm64): ```bash 506a2fade794398ec38cf9c59ca0b454fdcbb0080d7e40f1ace698a7b08eef77 guix-build-cf39913e5748/output/arm-linux-gnueabihf/SHA256SUMS.part 8ec3686ba80709eb024ea02b7b493e70af82383d814b105f157c94a86cb7efd6 guix-build-cf39913e5748/output/arm-linux-gnueabihf/bitcoin-cf39913e5748-arm-linux-gnueabihf-debug.tar.gz 4d9b3456c974f7f47dca64bcc994fa04888bf08518c902d12366798829a9100d guix-build-cf39913e5748/output/arm-linux-gnueabihf/bitcoin-cf39913e5748-arm-linux-gnueabihf.tar.gz 7c74610dcaa1dbb7fcadb2ad59520fdfa3fa02f26ceb88ada178ac35a0644840 guix-build-cf39913e5748/output/arm64-apple-darwin/SHA256SUMS.part fca59c367d2b5891186c546bd87ed66dcc4f0b11433b54c49ad72aa5e0e49978 guix-build-cf39913e5748/output/arm64-apple-darwin/bitcoin-cf39913e5748-arm64-apple-darwin-unsigned.dmg 467e5c2eeaccac995d14b41f5418ba783b31ee7c63d76d5fce5e667bd6ef6683 guix-build-cf39913e5748/output/arm64-apple-darwin/bitcoin-cf39913e5748-arm64-apple-darwin-unsigned.tar.gz 1f19caa059cd6b4adcc089f90ce33fe7f679b3a4beb970b3ef5c3292fe5841ee guix-build-cf39913e5748/output/arm64-apple-darwin/bitcoin-cf39913e5748-arm64-apple-darwin.tar.gz ea07945bf21cbe306e8afc815ccb5f4a363fb7335239fe35b3668bdef43f735a guix-build-cf39913e5748/output/dist-archive/bitcoin-cf39913e5748.tar.gz b699ae65b899192ad5afbe6a069d2113fda92b833f7db31a1487e7c4c04440f5 guix-build-cf39913e5748/output/powerpc64-linux-gnu/SHA256SUMS.part eeced64cd3e49ecd95ec29623f7cd3afe66ceffb8296af646ee4e1f3fe658ab0 guix-build-cf39913e5748/output/powerpc64-linux-gnu/bitcoin-cf39913e5748-powerpc64-linux-gnu-debug.tar.gz 20181015752a5d7bfc0d173fefb554b785ca0e566ffef443da6673d6a63ef10d guix-build-cf39913e5748/output/powerpc64-linux-gnu/bitcoin-cf39913e5748-powerpc64-linux-gnu.tar.gz 59338187f551f1c043e80f63c897899365fca4872b4d793e71423c1aa7ff1358 guix-build-cf39913e5748/output/powerpc64le-linux-gnu/SHA256SUMS.part 33d5d3113f176da881df06f5121d6003ae7f4e2d8124da805db1edab39161e81 guix-build-cf39913e5748/output/powerpc64le-linux-gnu/bitcoin-cf39913e5748-powerpc64le-linux-gnu-debug.tar.gz b5e9d3bf3e02aa6e3419c9f35118cb71323e0e01280b907e48fc335f8981cb6d guix-build-cf39913e5748/output/powerpc64le-linux-gnu/bitcoin-cf39913e5748-powerpc64le-linux-gnu.tar.gz ef5d9f2449ad570221209194af4c4824fc70cfacbaa020da24b9186212b81c5f guix-build-cf39913e5748/output/riscv64-linux-gnu/SHA256SUMS.part aafee42808b8bb2cdccbd919470bee2a1c9fcbb05daea32d15aa56288db7fc09 guix-build-cf39913e5748/output/riscv64-linux-gnu/bitcoin-cf39913e5748-riscv64-linux-gnu-debug.tar.gz 72e2f3c9a48f8f3f14ecac2e6a8645253a32bfad8a857d13824aedd1796cad6f guix-build-cf39913e5748/output/riscv64-linux-gnu/bitcoin-cf39913e5748-riscv64-linux-gnu.tar.gz 8637b4e85eb2d7be803e813fbf15ee597aa35c9910b4b413d657fa69c4d4569d guix-build-cf39913e5748/output/x86_64-apple-darwin/SHA256SUMS.part 7b384d2734bfd650f3f8096aa32b2aa6bddfee137c3e27ac75736989f7e6740e guix-build-cf39913e5748/output/x86_64-apple-darwin/bitcoin-cf39913e5748-x86_64-apple-darwin-unsigned.dmg 06960637c9322c3b97bb58331b3282e770b02b7b4d95100866a96c31400a9bb9 guix-build-cf39913e5748/output/x86_64-apple-darwin/bitcoin-cf39913e5748-x86_64-apple-darwin-unsigned.tar.gz cc524e73d9441fc0e396c6ae5847d9b395d27f8bfe65703520792ea509191e2e guix-build-cf39913e5748/output/x86_64-apple-darwin/bitcoin-cf39913e5748-x86_64-apple-darwin.tar.gz d99a7a48aa3a226d7f87c26dd4d6f12109e71fcb9f41052c0bcf5ba4bad1c408 guix-build-cf39913e5748/output/x86_64-linux-gnu/SHA256SUMS.part f2598fedf273244499f9481253f5114db2e299e132f5378c312f684d0a190f5f guix-build-cf39913e5748/output/x86_64-linux-gnu/bitcoin-cf39913e5748-x86_64-linux-gnu-debug.tar.gz 2151744dae55c460ad0c919101fcb845872060eef957d3ae0672f12098fa87b0 guix-build-cf39913e5748/output/x86_64-linux-gnu/bitcoin-cf39913e5748-x86_64-linux-gnu.tar.gz 6087d880cced5f30d9b70b592c91efc5677f470f82cc9ed00e0fc112ff36ac43 guix-build-cf39913e5748/output/x86_64-w64-mingw32/SHA256SUMS.part e91e48edb8819cd25b6d6b5f5421473c56859dbb17cf32108e906877097d454d guix-build-cf39913e5748/output/x86_64-w64-mingw32/bitcoin-cf39913e5748-win64-debug.zip ee4987cb94dcf4b5dfee65341a7a4f7b0865f1466c715c033a05591a749d43c3 guix-build-cf39913e5748/output/x86_64-w64-mingw32/bitcoin-cf39913e5748-win64-setup-unsigned.exe 43001b416664ea227d3f07100d8a60bcd20c761770a332374a1466d7af734127 guix-build-cf39913e5748/output/x86_64-w64-mingw32/bitcoin-cf39913e5748-win64-unsigned.tar.gz bb9a56856800e7d6e5c602302ec90704cb5dd917f52d122d783deee3ab1f149d guix-build-cf39913e5748/output/x86_64-w64-mingw32/bitcoin-cf39913e5748-win64.zip ``` ACKs for top commit: hebasto: ACK 495caa9a0149a87c4148fbae1b622c998c019d40, tested `bitcoin-495caa9a0149-win64-setup-unsigned.exe` on Windows 11 Pro: josibake: ACK https://github.com/bitcoin/bitcoin/pull/25829/commits/495caa9a0149a87c4148fbae1b622c998c019d40 Tree-SHA512: aca9101aec9b517defc915c213af7c2fec0c254c13374e13bff715e1ee771a20fc1b487457d48809af0b82321c0be8c23c5e02444fadfca53bc6bfe16c0f4239
2022-08-17Merge bitcoin/bitcoin#24678: Prevent wallet unload on GetWalletForJSONRPCRequestfanquake
f59959e3818692c5b3c2dfa51c14e515085e940f wallet: Prevent wallet unload on GetWalletForJSONRPCRequest (João Barbosa) Pull request description: Don't extend shared ownership of all wallets to `GetWalletForJSONRPCRequest` scope. ACKs for top commit: achow101: ACK f59959e3818692c5b3c2dfa51c14e515085e940f shaavan: Code Review ACK f59959e3818692c5b3c2dfa51c14e515085e940f theStack: Concept and code-review ACK f59959e3818692c5b3c2dfa51c14e515085e940f Tree-SHA512: 7c0294098b5c32acaab8cc6fcf17a581d580ad1a557ba0602a9506074ac035815739afb4a25b3e61be9132535c7fc3ec7ef5137c1dfc9d4078f13663d508ef55
2022-08-17Merge bitcoin/bitcoin#19391: RPC/Mining: Clean out pre-Segwit miner ↵fanquake
compatibility code 90a5dfa5098f142ba8b7b2f20eac31f4095ca583 RPC/Mining: Clean out pre-Segwit miner compatibility code (Luke Dashjr) Pull request description: This is dead code post-Segwit. ACKs for top commit: achow101: ACK 90a5dfa5098f142ba8b7b2f20eac31f4095ca583 Tree-SHA512: 5970aa3548d2a7da7c6e83fb9b910529faab10251b115122cec833bb7d3a54c7cb0714c1a873807be04c7817bb827c7ece1e20e8fa4c907aa58688487d0ec44d
2022-08-16Merge bitcoin/bitcoin#25734: wallet, refactor: #24584 follow-upsAndrew Chow
8cd21bb2799d37ed00dc9d0490bb5f5f1375932b refactor: improve readability for AttemptSelection (josibake) f47ff717611182da27461e29b3c23933eb22fbce test: only run test for descriptor wallets (josibake) 0760ce0b9e646b6c86f4cc890c6ab78103a242ab test: add missing BOOST_ASSERT (josibake) db09aec9378c5e8cc49c866fa50bfcb6c567d66c wallet: switch to new shuffle, erase, push_back (josibake) b6b50b0f2b055d81c5d4ff9e21dd88cdc9a88ccb scripted-diff: Uppercase function names (josibake) 3f27a2adce12c6b0e7b43ba7c024331657bcf335 refactor: add new helper methods (josibake) f5649db9d5e984ba7f376ccfd5b0a627f5c42402 refactor: add UNKNOWN OutputType (josibake) Pull request description: This PR is to address follow-ups for #24584, specifically: * Remove redundant, hard-to-read code by adding a new `OutputType` and adding shuffle, erase, and push_back methods for `CoinsResult` * Add missing `BOOST_ASSERT` to unit test * Ensure functional test only runs if using descriptor wallets * Improve readability of `AttemptSelection` by removing triple-nested if statement Note for reviewers: commit `refactor: add new helper methods` should throw an "unused function warning"; the function is used in the next commit. Also, commit `wallet: switch to new shuffle, erase, push_back` will fail to compile, but this is fixed in the next commit with a scripted-diff. the commits are separate like this (code change then scripted-diff) to improve legibility. ACKs for top commit: achow101: ACK 8cd21bb2799d37ed00dc9d0490bb5f5f1375932b aureleoules: ACK 8cd21bb2799d37ed00dc9d0490bb5f5f1375932b. LarryRuane: Concept, code review ACK 8cd21bb2799d37ed00dc9d0490bb5f5f1375932b furszy: utACK 8cd21bb2. Left a small, non-blocking, comment. Tree-SHA512: a1bbc5962833e3df4f01a4895d8bd748cc4c608c3f296fd94e8afd8797b8d2e94e7bd44d598bd76fa5c9f5536864f396fcd097348fa0bb190a49a86b0917d60e
2022-08-16Merge bitcoin/bitcoin#25504: RPC: allow to track coins by parent descriptorsAndrew Chow
a6b0c1fcc06485ecd320727fa7534a51a20608c1 doc: add releases notes for 25504 (listsinceblock updates) (Antoine Poinsot) 0fd2d144540b720626fc065a3cef5188831b5ee2 rpc: add an include_change parameter to listsinceblock (Antoine Poinsot) 55f98d087efd2609d808c082d5770306cc489409 rpc: output parent wallet descriptors for coins in listunspent (Antoine Poinsot) b724476158a7dfeef9edfda3f519dfd6f93202a8 rpc: output wallet descriptors for received entries in listsinceblock (Antoine Poinsot) 55a82eaf91d252a04a0cc8ad7d948d956c6cb24f wallet: allow to fetch the wallet descriptors for a given Script (Antoine Poinsot) Pull request description: Wallet descriptors are useful for applications using the Bitcoin Core wallet as a backend for tracking coins, as they allow to track coins for multiple descriptors in a single wallet. However there is no information currently given for such applications to link a coin with an imported descriptor, severely limiting the possibilities for such applications of using multiple descriptors in a single wallet. This PR outputs the matching imported descriptor(s) for a given received coin in `listsinceblock` (and friends). It comes from a need for an application i'm working on, but i think it's something any software using `bitcoind` to track multiple descriptors in a single wallet would have eventually. For instance i'm thinking about the BDK project. Currently, the way to achieve this is to import raw addresses with labels and to have your application be responsible for wallet things like the gap limit. I'll add this to the output of `listunspent` too if this gets a few Concept ACKs. ACKs for top commit: instagibbs: ACK https://github.com/bitcoin/bitcoin/pull/25504/commits/a6b0c1fcc06485ecd320727fa7534a51a20608c1 achow101: re-ACK a6b0c1fcc06485ecd320727fa7534a51a20608c1 Tree-SHA512: 7a5850e8de98b439ddede2cb72de0208944f8cda67272e8b8037678738d55b7a5272375be808b0f7d15def4904430e089dafdcc037436858ff3292c5f8b75e37
2022-08-16doc: add releases notes for 25504 (listsinceblock updates)Antoine Poinsot
2022-08-16rpc: add an include_change parameter to listsinceblockAntoine Poinsot
It's useful for an external application tracking coins to not be limited by our change detection. For instance, for a watchonly wallet with two descriptors a transaction from one to the other would be considered a change output and not be included in the result (if the address was not generated by this wallet).
2022-08-16refactor: Add lock annotations to Active* methodsMacroFake
This is a refactor, putting the burden to think about thread safety to the caller. Otherwise, there is a risk that the caller will assume thread safety where none exists, as is evident in the previous two commits.
2022-08-16Fix logical race in rest_getutxosMacroFake
Calling ActiveHeight() and ActiveTip() subsequently without holding the ::cs_main lock over both calls may result in a height that does not correspond to the tip due to a race. Fix this by holding the lock.
2022-08-16Fix UB/data-race in RPCNotifyBlockChangeMacroFake
ActiveTip() is *not* thread-safe, as the required ::cs_main lock will be released as ActiveChainstate() returns. ActiveTip() is an alias for ActiveChainstate().m_chain.Tip(), so m_chain may be involved in a data-race (UB).
2022-08-16Add ChainstateManager::GetMutex(), an alias for ::cs_mainMacroFake
2022-08-16build: add example bitcoin conf to win installerfanquake
Addresses https://github.com/bitcoin/bitcoin/pull/22235#discussion_r946359661.
2022-08-16build: include share/rpcauth in tarball & installerfanquake
Fixes #19081.
2022-08-16Merge bitcoin/bitcoin#25803: refactor: Drop ↵fanquake
`boost/algorithm/string/replace.hpp` dependency fea75ad3caa29972db32d3ce7e0fe125ec77a0eb refactor: Drop `boost/algorithm/string/replace.hpp` dependency (Hennadii Stepanov) 857526e8cbb0847a865e9c2509425960d458f535 test: Add test case for `ReplaceAll()` function (Hennadii Stepanov) Pull request description: A new implementation of the `ReplaceAll()` seems enough for all of our purposes. ACKs for top commit: adam2k: ACK Tested fea75ad3caa29972db32d3ce7e0fe125ec77a0eb theStack: Code-review ACK fea75ad3caa29972db32d3ce7e0fe125ec77a0eb Tree-SHA512: dacfffc9d2bd1fb9f034baf8c045b1e8657b766db2f0a7f8ef7e25ee6cd888f315b0124c54aba7a29ae59186b176ef9868a8b709dc995ea215c6b4ce58e174d9
2022-08-16Merge bitcoin/bitcoin#25809: build: add test_bitcoin.exe to win installer, ↵fanquake
don't install entire docs/ dir d755ffc3277c11b5c4a38c52e900b561d1636d0b build: package test_bitcoin in Windows installer (fanquake) aa30e046ace860d40736d01f91edd8802adfdf2d build: remove entire docs dir from Windows installer (fanquake) Pull request description: Haven't tested other than checking that it Guix builds. Fixes: #17171. Guix build (x86_64): ```bash 6e2886c80eba9c829047c04586b142d5f8f1c53c31aa82834aff39ae5dbf1762 guix-build-d755ffc3277c/output/dist-archive/bitcoin-d755ffc3277c.tar.gz cdf727c45c3283523726b4ec27f051de5931469874af736eac05d48016d6369b guix-build-d755ffc3277c/output/x86_64-w64-mingw32/SHA256SUMS.part 546866b2f0c8067c168a936246c4cda25745c1b484322201230b885511f2abd7 guix-build-d755ffc3277c/output/x86_64-w64-mingw32/bitcoin-d755ffc3277c-win64-debug.zip 31dbb780dff003089d0e9a3a2598cde89453af4f1b18e392a186a6ec14718b48 guix-build-d755ffc3277c/output/x86_64-w64-mingw32/bitcoin-d755ffc3277c-win64-setup-unsigned.exe 39f1c55a2426390f014282d0a736ceb77e461199fde6ccefcef53ecf10dc4960 guix-build-d755ffc3277c/output/x86_64-w64-mingw32/bitcoin-d755ffc3277c-win64-unsigned.tar.gz 7e4f7dc3475598d187e77cc31842ad2ce876fb98dc42e999b32bdefbf0b79df1 guix-build-d755ffc3277c/output/x86_64-w64-mingw32/bitcoin-d755ffc3277c-win64.zip ``` ACKs for top commit: jarolrod: ACK d755ffc3277c11b5c4a38c52e900b561d1636d0b 1440000bytes: ACK https://github.com/bitcoin/bitcoin/pull/25809/commits/d755ffc3277c11b5c4a38c52e900b561d1636d0b hebasto: ACK d755ffc3277c11b5c4a38c52e900b561d1636d0b, tested on Windows 11 Pro. Tree-SHA512: 7f1b46182b616806f706e20ccb05d8e563d5ff8f1155169713db780c06bbe3fffdb4c1b3f5da7c3e01bfcd40e7046811ff0710b81342d4c53d67ce91b36a7da7
2022-08-16Merge bitcoin/bitcoin#25833: doc: minor updates to guix READMEMacroFake
98383d6d0dade5c2af2adcf10e274141fc7981aa doc: minor updates to guix README (Stacie) Pull request description: Two minor updates to the guix docs: - `contrib/guix/README.md`: fix broken link - `contrib/guix/INSTALL.md`: Change Ubuntu version in the section on distribution maintained packages from 21.04 (Hirsute Hippo) to 22.04 (Jammy Jellyfish). The previous link to the Ubuntu Guix package (https://packages.ubuntu.com/hirsute/guix) was for Hirsute. That link is now broken, likely because Hirsute reached EOL in January. I was unable to locate a general page for Ubuntu Guix packages so I replaced the broken link with the search results for all Ubuntu Guix packages. That page currently displays Guix packages for three different versions of Ubuntu. Happy to replace this link if there is a better option. ACKs for top commit: jarolrod: ACK 98383d6d0dade5c2af2adcf10e274141fc7981aa Tree-SHA512: 6980f5952862773e79ca317edb4aadf6ff7c71726a0e4cb873c08bf51360c64e0498aabf4f53780f13cb06838eda93c89ba10fe35c4c8ae2b23191ab961b98f8
2022-08-15doc: minor updates to guix READMEStacie
2022-08-15Merge bitcoin/bitcoin#25720: p2p: Reduce bandwidth during initial headers ↵Andrew Chow
sync when a block is found f6a916683d75ed5489666dbfbd711f000ad0707f Add functional test for block announcements during initial headers sync (Suhas Daftuar) 05f7f31598b8bb06acb12e1e2a3ccf324b035ea8 Reduce bandwidth during initial headers sync when a block is found (Suhas Daftuar) Pull request description: On startup, if our headers chain is more than a day behind current time, we'll pick one peer to sync headers with until our best headers chain is caught up (at that point, we'll try to sync headers with all peers). However, if an INV for a block is received before our headers chain is caught up, we'll then start to sync headers from each peer announcing the block. This can result in doing a big headers sync with many (if not all) of our peers simultaneously, which wastes bandwidth. This PR would reduce that overhead by picking (at most) one new peer to try syncing headers with whenever a new block is announced, prior to our headers chain being caught up. ACKs for top commit: LarryRuane: ACK f6a916683d75ed5489666dbfbd711f000ad0707f ajtowns: ACK f6a916683d75ed5489666dbfbd711f000ad0707f mzumsande: ACK f6a916683d75ed5489666dbfbd711f000ad0707f dergoegge: Code review ACK f6a916683d75ed5489666dbfbd711f000ad0707f achow101: ACK f6a916683d75ed5489666dbfbd711f000ad0707f Tree-SHA512: 0662000bd68db146f55981de4adc2e2b07cbfda222b1176569d61c22055e5556752ffd648426f69687ed1cc203105515e7304c12b915d6270df8e41a4a0e1eaa
2022-08-15Merge bitcoin-core/gui#598: Avoid recalculating the wallet balance - use ↵Hennadii Stepanov
model cache 4584d300a40bfd84517072f7a6eee114fb7cab08 GUI: remove now unneeded 'm_balances' field from overviewpage (furszy) 050e8b139145d6991e740b0e5f2b3364663dd348 GUI: 'getAvailableBalance', use cached balance if the user did not select UTXO manually (furszy) 96e3264a82c51b456703f500bd98e8cb98115697 GUI: use cached balance in overviewpage and sendcoinsdialog (furszy) 321335bf0292034d79afa6c44f7f072942b6cc3c GUI: add getter for WalletModel::m_cached_balances field (furszy) e62958dc81d215a1c56318d0914dfd9a33d45973 GUI: sendCoinsDialog, remove duplicate wallet().getBalances() call (furszy) Pull request description: As per the title says, we are recalculating the entire wallet balance on different situations calling to `wallet().getBalances()`, when should instead make use of the wallet model cached balance. This has the benefits of (1) not spending resources calculating a balance that we already have cached, and (2) avoid blocking the main thread for a long time, in case of big wallets, walking through the entire wallet's tx map more than what it's really needed. Changes: 1) Fix: `SendCoinsDialog` was calling `wallet().getBalances()` twice during `setModel`. 2) Use the cached balance if the user did not select any UTXO manually inside the wallet model `getAvailableBalance` call. ----------------------- As an extra note, this work born in [#25005](https://github.com/bitcoin/bitcoin/pull/25005) but grew out of scope of it. ACKs for top commit: jarolrod: ACK 4584d300a40bfd84517072f7a6eee114fb7cab08 hebasto: re-ACK 4584d300a40bfd84517072f7a6eee114fb7cab08, only suggested changes and commit message formatting since my [recent](https://github.com/bitcoin-core/gui/pull/598#pullrequestreview-1071268192) review. Tree-SHA512: 6633ce7f9a82a3e46e75aa7295df46c80a4cd4a9f3305427af203c9bc8670573fa8a1927f14a279260c488cc975a08d238faba2e9751588086fea1dcf8ea2b28
2022-08-15Merge bitcoin-core/gui#654: Update source translations for string freezeHennadii Stepanov
fcc0c8448b514c874f570f0ee517e4abc05c2574 qt: Update source translations for string freeze (laanwj) Pull request description: Make sure transifex source translations match the ones in the source code after today's string freeze. It looks like only one message was added: "Too many external signers found". ACKs for top commit: hebasto: ACK fcc0c8448b514c874f570f0ee517e4abc05c2574, `make -C src translate` produces zero diff. jarolrod: ACK fcc0c8448b514c874f570f0ee517e4abc05c2574 Tree-SHA512: 2c2383a6f1ad086e86b7c7d35b9a06c30090a8c9517f93912b64957ec58c95c982d5340f189028717dc876e14ba2344750e3f5d81b522b0cf3d7f4586b8e0cc6
2022-08-15Merge bitcoin/bitcoin#25850: doc: Remove my key from SECURITY.mdMacroFake
38a911e107d7c4e685fd131d861f7196a637fb4d doc: Remove my key from SECURITY.md (laanwj) Pull request description: As I am no longer on the `security@bitcoincore.org` alias, there is no point in asking people to GPG-encrypt to me. Remove it. ACKs for top commit: fanquake: ACK 38a911e107d7c4e685fd131d861f7196a637fb4d Tree-SHA512: 6f7a9aad9a2d1b2f5ce89b2521d103a7093b9ebb54e7388bfb2836b89ddb592878955088b4d2d8a141ee532a7b35d3a74737fb161280c029f1f2a3eacec99b73
2022-08-15Merge bitcoin/bitcoin#25849: refactor: Remove not needed empty RPC doc ↵fanquake
std::string fac09f4f7a0f56335a105e4ca30a17fc5c22c961 refactor: Remove not needed empty RPC doc std::string (MacroFake) Pull request description: Not sure why this was put there, so remove it ACKs for top commit: aureleoules: ACK fac09f4f7a0f56335a105e4ca30a17fc5c22c961. Tree-SHA512: 7fae9c612dbb82db39e3dc6e20cc7d0c8128f4abf27e34f4854f908dc1bf3ad48ebee2dbbb864a9ce95e98c5d57119bf976793945a2084a43d137c2d95a25ea1
2022-08-15doc: Remove my key from SECURITY.mdlaanwj
As I am no longer on the `security@bitcoincore.org` alias, there is no point in asking people to GPG-encrypt to me. Remove it. Tree-SHA512: f15640b741b908b162acf149ab27dae149fc917c15fbabf8dd9aff7bc6afb9e8b2ae956f9a0f8fbe1f05f40a48215becc1efda90a2e9c1105559cdeafb073060
2022-08-15refactor: Remove not needed empty RPC doc std::stringMacroFake
2022-08-15qt: Update source translations for string freezelaanwj
It looks like only one message was added: "Too many external signers found".
2022-08-15Merge bitcoin/bitcoin#25836: subtree: update crc32c subtreeMacroFake
08269e54a9a74e06c9fb72720a216d8c4d4532a2 Squashed 'src/crc32c/' changes from 0d624261ef..0bac72c455 (fanquake) Pull request description: Update the crc32c subtree. Includes: * https://github.com/bitcoin-core/crc32c-subtree/pull/5 Which is useful for https://github.com/bitcoin/bitcoin/pull/25797. Guix Build (x86_64): ```bash 10677afb5b43e75f9c44ca2a854df88c2d2443392d3930d8c63d3c17e8d5959f guix-build-9546b3a2a3a4/output/aarch64-linux-gnu/SHA256SUMS.part a05ea337e8dbbf234419908e1c95467f24f9ad83f3371718d4d4e3c1ae64dc7b guix-build-9546b3a2a3a4/output/aarch64-linux-gnu/bitcoin-9546b3a2a3a4-aarch64-linux-gnu-debug.tar.gz 9e3bcaecc55e8100c17cd6049f99a5dcdd485153091a9ddc1bb014cd74da719b guix-build-9546b3a2a3a4/output/aarch64-linux-gnu/bitcoin-9546b3a2a3a4-aarch64-linux-gnu.tar.gz 1306478fadf15b11636625747029de78a9121d179bc63cad77478a5a4b70e012 guix-build-9546b3a2a3a4/output/arm-linux-gnueabihf/SHA256SUMS.part 55e82fc26fb57b4a58d63985b4b746c939c949abc670c976e270d5ec9c678623 guix-build-9546b3a2a3a4/output/arm-linux-gnueabihf/bitcoin-9546b3a2a3a4-arm-linux-gnueabihf-debug.tar.gz 4ef06487c7df0b5ffdbcd5b8e4d32ffc8016f071fda7566f824e713581e7b043 guix-build-9546b3a2a3a4/output/arm-linux-gnueabihf/bitcoin-9546b3a2a3a4-arm-linux-gnueabihf.tar.gz fff63a55498bc592296fa3514bc99b39e83c4ab808ce3b04c9499b7a6adf3fd6 guix-build-9546b3a2a3a4/output/arm64-apple-darwin/SHA256SUMS.part 965a96698bf7e49e2cc710ea567f69fbd4bedef64308f574e96c66e15c78d84d guix-build-9546b3a2a3a4/output/arm64-apple-darwin/bitcoin-9546b3a2a3a4-arm64-apple-darwin-unsigned.dmg 6738a0692430d4e59b45a8a9a247b6765970fb17c4047b66a332999425caafd9 guix-build-9546b3a2a3a4/output/arm64-apple-darwin/bitcoin-9546b3a2a3a4-arm64-apple-darwin-unsigned.tar.gz d2dc890f9d4e7f147b29e3e186504fc1af7f68b516d770d7700d4982429ad7e3 guix-build-9546b3a2a3a4/output/arm64-apple-darwin/bitcoin-9546b3a2a3a4-arm64-apple-darwin.tar.gz c74196e38f26f0aa8b345d81389a69c2324017c08b32fe5d97823a6bdaebd63b guix-build-9546b3a2a3a4/output/dist-archive/bitcoin-9546b3a2a3a4.tar.gz fdcebf2b6518f3a538429aba53795f45a6c07e0b3a73e58242a46b0e1a1de429 guix-build-9546b3a2a3a4/output/powerpc64-linux-gnu/SHA256SUMS.part d4180196535c6a13f158e6f1b013bac6e1f32291d2940f830898aff55bd215ad guix-build-9546b3a2a3a4/output/powerpc64-linux-gnu/bitcoin-9546b3a2a3a4-powerpc64-linux-gnu-debug.tar.gz ffbaea4130f460a93afd89618b68be5918d9fad053427390350daa1f512f628c guix-build-9546b3a2a3a4/output/powerpc64-linux-gnu/bitcoin-9546b3a2a3a4-powerpc64-linux-gnu.tar.gz 09071b159126c89bdbc3f19b51b89c34d9709658e77f0f5da55b41218453b652 guix-build-9546b3a2a3a4/output/powerpc64le-linux-gnu/SHA256SUMS.part 4b75a22ac557a0fea88f8df0beaff9b19fb032587710edcca3d942847445fbc3 guix-build-9546b3a2a3a4/output/powerpc64le-linux-gnu/bitcoin-9546b3a2a3a4-powerpc64le-linux-gnu-debug.tar.gz 1bbb30880fe9ec5151377b0ee1952316b63d3d4bfaaa383f72660591e46e1965 guix-build-9546b3a2a3a4/output/powerpc64le-linux-gnu/bitcoin-9546b3a2a3a4-powerpc64le-linux-gnu.tar.gz 06e6140b0b23f974a1c49e551fc4f8effba8afcc3fef3adf4fc3a5cd72d55007 guix-build-9546b3a2a3a4/output/riscv64-linux-gnu/SHA256SUMS.part 948219a7eb070e48d613bef5c96e47880414d738ecc0c334e1d46291af315cc9 guix-build-9546b3a2a3a4/output/riscv64-linux-gnu/bitcoin-9546b3a2a3a4-riscv64-linux-gnu-debug.tar.gz 9dcdb87bf947a23eb8e108a15b7b224f03f01dfac1879be85114f67ecc1cd425 guix-build-9546b3a2a3a4/output/riscv64-linux-gnu/bitcoin-9546b3a2a3a4-riscv64-linux-gnu.tar.gz c02b6fcc9f1333a83571eff16c6d7789febd8f693c6945b751b0665bdc025f20 guix-build-9546b3a2a3a4/output/x86_64-apple-darwin/SHA256SUMS.part 3a092d1c08cb85f4ac502424b3c5932ff6970a191ce43d622d36ad17f9b36243 guix-build-9546b3a2a3a4/output/x86_64-apple-darwin/bitcoin-9546b3a2a3a4-x86_64-apple-darwin-unsigned.dmg 1a1bbefb93131d62f88d9eb51bddc2bd3e247533f8000555af20ea582fe65daa guix-build-9546b3a2a3a4/output/x86_64-apple-darwin/bitcoin-9546b3a2a3a4-x86_64-apple-darwin-unsigned.tar.gz 684180389af6cba525439b8c8142bbdc3391c125583743275b6876e69adbd733 guix-build-9546b3a2a3a4/output/x86_64-apple-darwin/bitcoin-9546b3a2a3a4-x86_64-apple-darwin.tar.gz f81bc831e3d933b387940c8bd3cc10402e00116c713cd2ac9e7531082a354187 guix-build-9546b3a2a3a4/output/x86_64-linux-gnu/SHA256SUMS.part 05faf45bc567742d41addafc5d8e85b5b586173f2efdd2ae501d6ebdf69379bb guix-build-9546b3a2a3a4/output/x86_64-linux-gnu/bitcoin-9546b3a2a3a4-x86_64-linux-gnu-debug.tar.gz dfe1b0c22c706a918cbc8952bebba0b471c849276725dd5e0b2eee265c281386 guix-build-9546b3a2a3a4/output/x86_64-linux-gnu/bitcoin-9546b3a2a3a4-x86_64-linux-gnu.tar.gz 64186c495eb9b6e8c6a2be89530c928e7b161e5ca7a1b56b7786dd28d310e7e8 guix-build-9546b3a2a3a4/output/x86_64-w64-mingw32/SHA256SUMS.part c099d0dfeb4556539b52c8bc08ef2c15c636526dccc0a73900c68fa45b052189 guix-build-9546b3a2a3a4/output/x86_64-w64-mingw32/bitcoin-9546b3a2a3a4-win64-debug.zip 7751e50110ed1a9a46a2fdadb7d71c6e30910685a3074dea563ec64997cbb134 guix-build-9546b3a2a3a4/output/x86_64-w64-mingw32/bitcoin-9546b3a2a3a4-win64-setup-unsigned.exe d8ec6a7d24c9b514c342fe3ee2281482a104100230650523d3303484036507a3 guix-build-9546b3a2a3a4/output/x86_64-w64-mingw32/bitcoin-9546b3a2a3a4-win64-unsigned.tar.gz ee3123a60a732596347e58351c38cc5c0a8bf9b24f3cc9041f12ec11572e0659 guix-build-9546b3a2a3a4/output/x86_64-w64-mingw32/bitcoin-9546b3a2a3a4-win64.zip ``` Guix Build (arm64): ```bash 1306478fadf15b11636625747029de78a9121d179bc63cad77478a5a4b70e012 guix-build-9546b3a2a3a4/output/arm-linux-gnueabihf/SHA256SUMS.part 55e82fc26fb57b4a58d63985b4b746c939c949abc670c976e270d5ec9c678623 guix-build-9546b3a2a3a4/output/arm-linux-gnueabihf/bitcoin-9546b3a2a3a4-arm-linux-gnueabihf-debug.tar.gz 4ef06487c7df0b5ffdbcd5b8e4d32ffc8016f071fda7566f824e713581e7b043 guix-build-9546b3a2a3a4/output/arm-linux-gnueabihf/bitcoin-9546b3a2a3a4-arm-linux-gnueabihf.tar.gz fff63a55498bc592296fa3514bc99b39e83c4ab808ce3b04c9499b7a6adf3fd6 guix-build-9546b3a2a3a4/output/arm64-apple-darwin/SHA256SUMS.part 965a96698bf7e49e2cc710ea567f69fbd4bedef64308f574e96c66e15c78d84d guix-build-9546b3a2a3a4/output/arm64-apple-darwin/bitcoin-9546b3a2a3a4-arm64-apple-darwin-unsigned.dmg 6738a0692430d4e59b45a8a9a247b6765970fb17c4047b66a332999425caafd9 guix-build-9546b3a2a3a4/output/arm64-apple-darwin/bitcoin-9546b3a2a3a4-arm64-apple-darwin-unsigned.tar.gz d2dc890f9d4e7f147b29e3e186504fc1af7f68b516d770d7700d4982429ad7e3 guix-build-9546b3a2a3a4/output/arm64-apple-darwin/bitcoin-9546b3a2a3a4-arm64-apple-darwin.tar.gz c74196e38f26f0aa8b345d81389a69c2324017c08b32fe5d97823a6bdaebd63b guix-build-9546b3a2a3a4/output/dist-archive/bitcoin-9546b3a2a3a4.tar.gz fdcebf2b6518f3a538429aba53795f45a6c07e0b3a73e58242a46b0e1a1de429 guix-build-9546b3a2a3a4/output/powerpc64-linux-gnu/SHA256SUMS.part d4180196535c6a13f158e6f1b013bac6e1f32291d2940f830898aff55bd215ad guix-build-9546b3a2a3a4/output/powerpc64-linux-gnu/bitcoin-9546b3a2a3a4-powerpc64-linux-gnu-debug.tar.gz ffbaea4130f460a93afd89618b68be5918d9fad053427390350daa1f512f628c guix-build-9546b3a2a3a4/output/powerpc64-linux-gnu/bitcoin-9546b3a2a3a4-powerpc64-linux-gnu.tar.gz 09071b159126c89bdbc3f19b51b89c34d9709658e77f0f5da55b41218453b652 guix-build-9546b3a2a3a4/output/powerpc64le-linux-gnu/SHA256SUMS.part 4b75a22ac557a0fea88f8df0beaff9b19fb032587710edcca3d942847445fbc3 guix-build-9546b3a2a3a4/output/powerpc64le-linux-gnu/bitcoin-9546b3a2a3a4-powerpc64le-linux-gnu-debug.tar.gz 1bbb30880fe9ec5151377b0ee1952316b63d3d4bfaaa383f72660591e46e1965 guix-build-9546b3a2a3a4/output/powerpc64le-linux-gnu/bitcoin-9546b3a2a3a4-powerpc64le-linux-gnu.tar.gz 06e6140b0b23f974a1c49e551fc4f8effba8afcc3fef3adf4fc3a5cd72d55007 guix-build-9546b3a2a3a4/output/riscv64-linux-gnu/SHA256SUMS.part 948219a7eb070e48d613bef5c96e47880414d738ecc0c334e1d46291af315cc9 guix-build-9546b3a2a3a4/output/riscv64-linux-gnu/bitcoin-9546b3a2a3a4-riscv64-linux-gnu-debug.tar.gz 9dcdb87bf947a23eb8e108a15b7b224f03f01dfac1879be85114f67ecc1cd425 guix-build-9546b3a2a3a4/output/riscv64-linux-gnu/bitcoin-9546b3a2a3a4-riscv64-linux-gnu.tar.gz c02b6fcc9f1333a83571eff16c6d7789febd8f693c6945b751b0665bdc025f20 guix-build-9546b3a2a3a4/output/x86_64-apple-darwin/SHA256SUMS.part 3a092d1c08cb85f4ac502424b3c5932ff6970a191ce43d622d36ad17f9b36243 guix-build-9546b3a2a3a4/output/x86_64-apple-darwin/bitcoin-9546b3a2a3a4-x86_64-apple-darwin-unsigned.dmg 1a1bbefb93131d62f88d9eb51bddc2bd3e247533f8000555af20ea582fe65daa guix-build-9546b3a2a3a4/output/x86_64-apple-darwin/bitcoin-9546b3a2a3a4-x86_64-apple-darwin-unsigned.tar.gz 684180389af6cba525439b8c8142bbdc3391c125583743275b6876e69adbd733 guix-build-9546b3a2a3a4/output/x86_64-apple-darwin/bitcoin-9546b3a2a3a4-x86_64-apple-darwin.tar.gz f81bc831e3d933b387940c8bd3cc10402e00116c713cd2ac9e7531082a354187 guix-build-9546b3a2a3a4/output/x86_64-linux-gnu/SHA256SUMS.part 05faf45bc567742d41addafc5d8e85b5b586173f2efdd2ae501d6ebdf69379bb guix-build-9546b3a2a3a4/output/x86_64-linux-gnu/bitcoin-9546b3a2a3a4-x86_64-linux-gnu-debug.tar.gz dfe1b0c22c706a918cbc8952bebba0b471c849276725dd5e0b2eee265c281386 guix-build-9546b3a2a3a4/output/x86_64-linux-gnu/bitcoin-9546b3a2a3a4-x86_64-linux-gnu.tar.gz 64186c495eb9b6e8c6a2be89530c928e7b161e5ca7a1b56b7786dd28d310e7e8 guix-build-9546b3a2a3a4/output/x86_64-w64-mingw32/SHA256SUMS.part c099d0dfeb4556539b52c8bc08ef2c15c636526dccc0a73900c68fa45b052189 guix-build-9546b3a2a3a4/output/x86_64-w64-mingw32/bitcoin-9546b3a2a3a4-win64-debug.zip 7751e50110ed1a9a46a2fdadb7d71c6e30910685a3074dea563ec64997cbb134 guix-build-9546b3a2a3a4/output/x86_64-w64-mingw32/bitcoin-9546b3a2a3a4-win64-setup-unsigned.exe d8ec6a7d24c9b514c342fe3ee2281482a104100230650523d3303484036507a3 guix-build-9546b3a2a3a4/output/x86_64-w64-mingw32/bitcoin-9546b3a2a3a4-win64-unsigned.tar.gz ee3123a60a732596347e58351c38cc5c0a8bf9b24f3cc9041f12ec11572e0659 guix-build-9546b3a2a3a4/output/x86_64-w64-mingw32/bitcoin-9546b3a2a3a4-win64.zip ``` ACKs for top commit: hebasto: ACK 9546b3a2a3a4796a13f05edd1340bfc0fa4c0a75, I have reviewed the code and it looks OK, I agree it can be merged. jarolrod: ACK 9546b3a2a3a4796a13f05edd1340bfc0fa4c0a75 Tree-SHA512: e5f98fd3bdb90516d24ed6cc26da9ed4a83374888d322a4e3a26d8df4a2352711d842787b07ba94e2dbd142391bb8f39eb6f040cbb3c2f217f7980b69aaae31f
2022-08-15Merge bitcoin/bitcoin#25838: build, qt: Use `mkspecs/bitcoin-linux-g++` for ↵fanquake
all Linux hosts 59f2cc23e0d3c74a3dc1ccd22f3ab278a4b7cd95 build, qt: Use `mkspecs/bitcoin-linux-g++` for all Linux hosts (Hennadii Stepanov) d61f6677e3edff32704ce5ce527a830a10bd5f20 build: Add objcopy host tool (Hennadii Stepanov) a2e733b94619282060ec860104e0a79167725387 doc: Remove no longer needed comments (Hennadii Stepanov) 968ea66537da2646c3a33bd82f031adef67a3c8b build: Adjust `qt/guix_cross_lib_path.patch` (Hennadii Stepanov) Pull request description: This PR is an alternative to bitcoin/bitcoin#25822. Fixes bitcoin/bitcoin#22184. Also added some minor patch and comment improvements. Guix build on `x86_64`: ``` e5d3e7963339085fce3074c610613f9b6f2daf4f94ca86585c2ef276ac451c2f guix-build-59f2cc23e0d3/output/aarch64-linux-gnu/SHA256SUMS.part 43bc602bf372996069ba18dfbd6a5615b60c259a26639f59cb86b25457578b2b guix-build-59f2cc23e0d3/output/aarch64-linux-gnu/bitcoin-59f2cc23e0d3-aarch64-linux-gnu-debug.tar.gz ec894ba0c4036e09e93fbbbf2473992154b73de6f3a2beb22c69ae9dc48337bb guix-build-59f2cc23e0d3/output/aarch64-linux-gnu/bitcoin-59f2cc23e0d3-aarch64-linux-gnu.tar.gz 0b2edbb8465da7bec04b7ee9856a43bf6b06714dedabe24df0e63b56d6cb6f30 guix-build-59f2cc23e0d3/output/arm-linux-gnueabihf/SHA256SUMS.part 7131d53947ea70a900727342e34a53d6dd6c32cff032e2e68d783ce1ed25bc97 guix-build-59f2cc23e0d3/output/arm-linux-gnueabihf/bitcoin-59f2cc23e0d3-arm-linux-gnueabihf-debug.tar.gz 0c22e7459c26edf3c503a7cb3de6e727aa98b2950c93f6558f0befcc42391d13 guix-build-59f2cc23e0d3/output/arm-linux-gnueabihf/bitcoin-59f2cc23e0d3-arm-linux-gnueabihf.tar.gz 4b95d4a4f159aae8fbe0c842280872908da399f95ea9d3abb8c8889015e56c18 guix-build-59f2cc23e0d3/output/arm64-apple-darwin/SHA256SUMS.part d1e343dbb089d4747fdbed278b4234974861bd35a7a7d74c03b6fe9267e280a2 guix-build-59f2cc23e0d3/output/arm64-apple-darwin/bitcoin-59f2cc23e0d3-arm64-apple-darwin-unsigned.dmg dc8851cad1e5d8e5538f93c42184fc11cac3320ef423425aa37567f6911527f8 guix-build-59f2cc23e0d3/output/arm64-apple-darwin/bitcoin-59f2cc23e0d3-arm64-apple-darwin-unsigned.tar.gz 5fbeb911e207467a96ac0559c5f62bead6d1d382a8808bfd170c2475ebfe78e2 guix-build-59f2cc23e0d3/output/arm64-apple-darwin/bitcoin-59f2cc23e0d3-arm64-apple-darwin.tar.gz b96183a15be11717dc5b250e1c9921c118d26c613de2e5bee1bf3f70f2d1d3fe guix-build-59f2cc23e0d3/output/dist-archive/bitcoin-59f2cc23e0d3.tar.gz 90ee33b1013e30d3679f96c2496767b47493125329b5ff93c91bcf94e5e6ffcd guix-build-59f2cc23e0d3/output/powerpc64-linux-gnu/SHA256SUMS.part 7e52a6a8f4f739a7ab276c50bb42f7803856c8a15b5fdde47ed2d076492102f8 guix-build-59f2cc23e0d3/output/powerpc64-linux-gnu/bitcoin-59f2cc23e0d3-powerpc64-linux-gnu-debug.tar.gz 21d59e074f9a89c6bbb6f6eb58084eddd1c1e24fe338b25c6d58080efd17d0bb guix-build-59f2cc23e0d3/output/powerpc64-linux-gnu/bitcoin-59f2cc23e0d3-powerpc64-linux-gnu.tar.gz 64375860ca1ca30951f3b4b68e5fc56421437486caccd6d18a6c63c104a1dc04 guix-build-59f2cc23e0d3/output/powerpc64le-linux-gnu/SHA256SUMS.part 0f568e92a14f849c5cd36b09628ba79537c2421227b43979ed743bbd543d1e82 guix-build-59f2cc23e0d3/output/powerpc64le-linux-gnu/bitcoin-59f2cc23e0d3-powerpc64le-linux-gnu-debug.tar.gz 8dbe29a4620fc07c70e2748927adfe32604900977d5fe9689930024dfae5350b guix-build-59f2cc23e0d3/output/powerpc64le-linux-gnu/bitcoin-59f2cc23e0d3-powerpc64le-linux-gnu.tar.gz 022644aabcd458f3c24931dab4c34db5bdf96209585eb82739c4b88536a09e58 guix-build-59f2cc23e0d3/output/riscv64-linux-gnu/SHA256SUMS.part 5a0d54f8837a3132b42926f4c8bb45127fd2ef3d49cd238cd1889ca1255c79b1 guix-build-59f2cc23e0d3/output/riscv64-linux-gnu/bitcoin-59f2cc23e0d3-riscv64-linux-gnu-debug.tar.gz da3d43ec2cb1624503fc3bae2c4099b608fdd6d9a47cd3dd3c0c7e35b6031cff guix-build-59f2cc23e0d3/output/riscv64-linux-gnu/bitcoin-59f2cc23e0d3-riscv64-linux-gnu.tar.gz bde0bc14ac320d91b7868dbe44ebb57cf8d74d35d21456d3ae71aced42d17922 guix-build-59f2cc23e0d3/output/x86_64-apple-darwin/SHA256SUMS.part 95322c099de80d660350b383a10ca8a074fe80656b6917085e942c31696226ff guix-build-59f2cc23e0d3/output/x86_64-apple-darwin/bitcoin-59f2cc23e0d3-x86_64-apple-darwin-unsigned.dmg 78ad02298ccba816d03a929ad42570d2ed5af0942e1dd26d69e8f9b96112269f guix-build-59f2cc23e0d3/output/x86_64-apple-darwin/bitcoin-59f2cc23e0d3-x86_64-apple-darwin-unsigned.tar.gz 3fec9daf0bb52aba9218d3e62ef3970329757889a316a10708275e67d7930c8c guix-build-59f2cc23e0d3/output/x86_64-apple-darwin/bitcoin-59f2cc23e0d3-x86_64-apple-darwin.tar.gz 7790af2005756f737986da24da349e406e765af4300ee7e391660e4d1fe6025e guix-build-59f2cc23e0d3/output/x86_64-linux-gnu/SHA256SUMS.part 8b97e9f9a974beacfb6b9661b6fe562a850047d40589f4fa9d069eb1692548c3 guix-build-59f2cc23e0d3/output/x86_64-linux-gnu/bitcoin-59f2cc23e0d3-x86_64-linux-gnu-debug.tar.gz 77bb105155a72f2cfa6160bdb8c02e0621381005db0569dc8df6045b65dac0f8 guix-build-59f2cc23e0d3/output/x86_64-linux-gnu/bitcoin-59f2cc23e0d3-x86_64-linux-gnu.tar.gz 15fbbbe58a2632dabadfa145e4e55103589102e67ec483187275c522d98298bd guix-build-59f2cc23e0d3/output/x86_64-w64-mingw32/SHA256SUMS.part d50afc0061812aadca68ac530e301937e69893881d184ba4c38b37e4ff1a74ba guix-build-59f2cc23e0d3/output/x86_64-w64-mingw32/bitcoin-59f2cc23e0d3-win64-debug.zip a86a5cf85036bb45d2233b0d83bf21f5cd26f463a7a794077995622a47589940 guix-build-59f2cc23e0d3/output/x86_64-w64-mingw32/bitcoin-59f2cc23e0d3-win64-setup-unsigned.exe ca06c5ba64f0a0961c11c1573c04f142fdf369da29f4e8e54f89f3b98f6964ec guix-build-59f2cc23e0d3/output/x86_64-w64-mingw32/bitcoin-59f2cc23e0d3-win64-unsigned.tar.gz b120fdcde18f330c462d6f7100abeb8cc6e26d9034f50c0957fa40067be3dea9 guix-build-59f2cc23e0d3/output/x86_64-w64-mingw32/bitcoin-59f2cc23e0d3-win64.zip ``` ACKs for top commit: fanquake: ACK 59f2cc23e0d3c74a3dc1ccd22f3ab278a4b7cd95 - Making this more generic also fixes other Qt builds [that were previously failing](https://github.com/bitcoin/bitcoin/pull/25838#issuecomment-1214166251). Tree-SHA512: 465f506964293429e55222b40a3927261aa5abd84ecb7bc1257e1b25a8d944967c4aa6e6d7d4afc25ea401d19e5c2d3eb093e073fc29478a8b1626d62cd53275
2022-08-13Merge bitcoin/bitcoin#25235: GetExternalSigner(): fail if multiple signers ↵fanquake
are found 292b1a3e9c98b9ba74b28d149df8554d4ad8e5c0 GetExternalSigner(): fail if multiple signers are found (amadeuszpawlik) Pull request description: If there are multiple external signers, `GetExternalSigner()` will just pick the first one in the list. If the user has two or more hardware wallets connected at the same time, he might not notice this. This PR adds a check and fails with suitable message, forcing the user to disconnect all but one external signer, so that there is no ambiguity as to which external signer was used. ACKs for top commit: Sjors: tACK 292b1a3e9c98b9ba74b28d149df8554d4ad8e5c0 achow101: ACK 292b1a3e9c98b9ba74b28d149df8554d4ad8e5c0 Tree-SHA512: e2a41d3eecc607d4f94e708614bed0f3545f7abba85f300c5a5f0d3d17d72c815259734accc5ca370953eacd290f27894ba2c18016f5e9584cd50fa1ec2fbb0b
2022-08-13build, qt: Use `mkspecs/bitcoin-linux-g++` for all Linux hostsHennadii Stepanov
2022-08-13build: Add objcopy host toolHennadii Stepanov
Qt's mkspec references the objcopy tool.
2022-08-13doc: Remove no longer needed commentsHennadii Stepanov
Co-authored-by: fanquake <fanquake@gmail.com>
2022-08-13Update crc32c subtree to latest upstream masterfanquake
2022-08-13Squashed 'src/crc32c/' changes from 0d624261ef..0bac72c455fanquake
0bac72c455 Merge bitcoin-core/crc32c-subtree#5: local, bugfix: Define `CRC32C_HAVE_CONFIG_H` macro for all targets 002cfa280e local, bugfix: Define `CRC32C_HAVE_CONFIG_H` macro for all targets git-subtree-dir: src/crc32c git-subtree-split: 0bac72c4552baf1cc9fe03ee30d6542cb7af2e04
2022-08-13build: Adjust `qt/guix_cross_lib_path.patch`Hennadii Stepanov
2022-08-13Merge bitcoin/bitcoin#25817: build: fix cross-arch macOS M1 build ↵fanquake
reproducibility 08bd3382777bf5d24fa8f32f27abc7b6d1e20dd9 build: optimise arm64 darwin qt build using -O1 (fanquake) Pull request description: Building the macOS M1 bitcoin-qt binary at a optimisation level higher than `-O1` causes reproducibility issues when building on different architectures. Proposing somewhat of a hammer. This would fix 1 of the 2 remaining HOSTS in #21194. Guix Build (x86_64): ```bash 1b58b5109b32dca2509499c93347148e6bab5dca835081f8cbd3123bed72cce1 guix-build-08bd3382777b/output/arm64-apple-darwin/SHA256SUMS.part 0e0d063d3832fad7c5116dabb2ac33c919f40bda04759aad4523c6247295bc9e guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin-unsigned.dmg 1feb301245f2c664edcfd9ac528fe1543fc7b183b3b42637db77d57658bc2b5e guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin-unsigned.tar.gz 641eb100d0a281203f9d6e36e45dc0ffc772c680d6aec462434f106b4c44e295 guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin.tar.gz 9d89920626e35939aa6cf506fc85861179f3c0e18d4ef1954750cf81336a851a guix-build-08bd3382777b/output/dist-archive/bitcoin-08bd3382777b.tar.gz e7697d30084270d0b5843b3baf0d752e240c2f708f728bc2f6896f153276ca6b guix-build-08bd3382777b/output/x86_64-apple-darwin/SHA256SUMS.part dd77acee082dbfd3cdad2c564bbd3bdace8df9bf32f92cf4a2debd5a996ace49 guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin-unsigned.dmg 85e63fccb7af12468a04a678034c42dcd775d243b2d194a52e1086a6ffbdbe84 guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin-unsigned.tar.gz ff2629957608898d76a42025985e3ec4bf5dc8572794e32b4182ba6f8babb828 guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin.tar.gz ``` Guix Build (arm64): ```bash 1b58b5109b32dca2509499c93347148e6bab5dca835081f8cbd3123bed72cce1 guix-build-08bd3382777b/output/arm64-apple-darwin/SHA256SUMS.part 0e0d063d3832fad7c5116dabb2ac33c919f40bda04759aad4523c6247295bc9e guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin-unsigned.dmg 1feb301245f2c664edcfd9ac528fe1543fc7b183b3b42637db77d57658bc2b5e guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin-unsigned.tar.gz 641eb100d0a281203f9d6e36e45dc0ffc772c680d6aec462434f106b4c44e295 guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin.tar.gz 9d89920626e35939aa6cf506fc85861179f3c0e18d4ef1954750cf81336a851a guix-build-08bd3382777b/output/dist-archive/bitcoin-08bd3382777b.tar.gz e7697d30084270d0b5843b3baf0d752e240c2f708f728bc2f6896f153276ca6b guix-build-08bd3382777b/output/x86_64-apple-darwin/SHA256SUMS.part dd77acee082dbfd3cdad2c564bbd3bdace8df9bf32f92cf4a2debd5a996ace49 guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin-unsigned.dmg 85e63fccb7af12468a04a678034c42dcd775d243b2d194a52e1086a6ffbdbe84 guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin-unsigned.tar.gz ff2629957608898d76a42025985e3ec4bf5dc8572794e32b4182ba6f8babb828 guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin.tar.gz ``` ACKs for top commit: hebasto: ACK 08bd3382777bf5d24fa8f32f27abc7b6d1e20dd9 jarolrod: ACK 08bd3382777bf5d24fa8f32f27abc7b6d1e20dd9 Tree-SHA512: 48da4acb1799c3153cdaf674f287c81c3da230a3476183616b74f318baa595af45b313136eb228ba13c63e0b8206a78064734f9fd0488e1e839c9e4e1d92ba25
2022-08-12Add functional test for block announcements during initial headers syncSuhas Daftuar
2022-08-12Reduce bandwidth during initial headers sync when a block is foundSuhas Daftuar
If our headers chain is behind on startup, then if a block is found we'll try to catch up from all peers announcing the block, in addition to our initial headers-sync peer. This commit changes behavior so that in this situation, we'll choose at most one peer announcing a block to additionally sync headers from.
2022-08-12GUI: remove now unneeded 'm_balances' field from overviewpagefurszy
2022-08-12GUI: 'getAvailableBalance', use cached balance if the user did not select ↵furszy
UTXO manually No need to walk through the entire wallet's tx map. Used for 'walletModel::prepareTransaction' and 'useAvailable' flow in sendcoinsdialog.
2022-08-12GUI: use cached balance in overviewpage and sendcoinsdialogfurszy
Plus, calculate the cached balance right when the wallet model, so the wallet widgets don't need to redo the same balance calculation multiple times when they are waiting for the model balance polling timer. ---------------------------------------------------------------------- test wise: `WalletTests` now need to trigger the walletModel balance changed manually. So the model updates its internal state and can be used by the widgets. This is because the test does not start the balance polling timer, in the same way as does not initialize several parts of the GUI workflow. All the objects (wallet, models, views, etc) that are used on this test are manually created instead of using the `WalletController` class flow. Rationale is that this unit test is focused on verifying the GUI widgets/views behavior only: update the presented information, etc. when they receive different signals and/or function calls from outside (in other words, focus is on the signal slots/receiver side). It's not about whether the wallet balance polling timer is functioning as expected or not (which we definitely create a new test case for it in a follow-up work).
2022-08-12GUI: add getter for WalletModel::m_cached_balances fieldfurszy
No need to guard it as it is/will only be accessed from the main thread for now
2022-08-12GUI: sendCoinsDialog, remove duplicate wallet().getBalances() callfurszy
Inside setModel, we call 'wallet().getBalances()', to set the view balance, right before calling 'updateDisplayUnit' which calls 'wallet().getBalances()' internally and re-sets the view balance again.
2022-08-12build: optimise arm64 darwin qt build using -O1fanquake
Building at higher optimisation levels causes reproducibility issues when building on different architectures.
2022-08-12refactor: Avoid copies in FlatSigningProvider MergeMacroFake
2022-08-12Merge bitcoin/bitcoin#25785: bench: Add a benchmark for descriptor expansionMacroFake
478695982b88fd48a277a9eb197ce819688487f0 bench: Add a benchmark for descriptor expansion (Ben Woosley) Pull request description: Taken from https://github.com/bitcoin/bitcoin/pull/16116 , as requested here: https://github.com/bitcoin/bitcoin/pull/25748#issuecomment-1205441706 ACKs for top commit: achow101: ACK 478695982b88fd48a277a9eb197ce819688487f0 Tree-SHA512: f2efdf8f84e1783c7c298abe65123191d25cab0a9da2d0ff5957a60acc2d10e356151d7ecec0d98d28c456f42ddef50efd70c7edc0c9012df2a977e080515b9d