-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sync with the main repo #121
Conversation
The peer object is not mutated by PushNodeVersion, so pass a const reference
3a53927 ci: Integrate ccache into MSVC build (Hennadii Stepanov) Pull request description: [ccache 4.6](https://ccache.dev/releasenotes.html#_ccache_4_6): > Added support for caching calls to Microsoft Visual C++ (MSVC) Integrated into our native Windows CI task. [On master](url) (c109e7d):  [This PR](https://cirrus-ci.com/task/6572984340054016):  ``` Summary: Hits: 222 / 222 (100.0 %) Direct: 222 / 222 (100.0 %) Preprocessed: 0 / 0 Misses: 0 Direct: 0 Preprocessed: 0 Errors: 7 Uncacheable: 9 Primary storage: Hits: 444 / 444 (100.0 %) Misses: 0 Cache size (GB): 0.04 / 5.00 (0.86 %) Use the -v/--verbose option for more details. ``` Top commit has no ACKs. Tree-SHA512: d8cf91d8e75a5187cf456960bdf759f857fb9a9b0c4087e5e46ccbe2202aca5f1b9b38a47ec54d98e885c0f5d78de93a3188fb966fa5b346e81907c211ba1e79
This change is a prerequisite for the following bugfix.
_Motivation_ Currently, the wallet uses a fSubtractFeeAmount (SFFO) flag on the recipients objects for all forms of sending calls. According to the commit discussion, this flag was chiefly introduced to permit sweeping without manually calculating the fees of transactions. However, the flag leads to unintuitive behavior and makes it more complicated to test many wallet RPCs exhaustively. We proposed to introduce a dedicated `sendall` RPC with the intention to cover this functionality. Since the proposal, it was discovered in further discussion that our proposed `sendall` rpc and SFFO have subtly different scopes of operation. • sendall: Use _specific UTXOs_ to pay a destination the remainder after fees. • SFFO: Use a _specific budget_ to pay an address the remainder after fees. While `sendall` will simplify cases of spending from specific UTXOs, emptying a wallet, or burning dust, we realized that there are some cases in which SFFO is used to pay other parties from a limited budget, which can often lead to the creation of change outputs. This cannot be easily replicated using `sendall` as it would require manual computation of the appropriate change amount. As such, sendall cannot replace all uses of SFFO, but it still has a different use case and will aid in simplifying some wallet calls and numerous wallet tests. _Sendall call details_ The proposed sendall call builds a transaction from a specific subset of the wallet's UTXO pool (by default all of them) and assigns the funds to one or more receivers. Receivers can either be specified with a specific amount or receive an equal share of the remaining unassigned funds. At least one recipient must be provided without assigned amount to collect the remainder. The `sendall` call will never create change. The call has a `send_max` option that changes the default behavior of spending all UTXOs ("no UTXO left behind"), to maximizing the output amount of the transaction by skipping uneconomic UTXOs. The `send_max` option is incompatible with providing a specific set of inputs.
Using a ramdisk for the functional tests can give worthwhile speed-ups for developers and reviewers. Add notes to test/README.md on how to setup, use and erase a ramdisk on Linux.
… to #21160 a40978d [fuzz] Assert that Peer.m_tx_relay.m_relay_txs has been set correctly (John Newbery) 0bca5f2 [net processing] PushNodeVersion() takes a const Peer& (John Newbery) 21154ff net_processing: move CNode data access out of lock (John Newbery) Pull request description: #21160 ([net/net processing]: Move tx inventory into net_processing) had some unaddressed review comments when it was merged. This branch addresses those comments. ACKs for top commit: MarcoFalke: review ACK a40978d dergoegge: ACK a40978d ajtowns: ACK a40978d Tree-SHA512: 46624e275f918c5f32d0adab0766e9b3ef8ebdbc74a3c8886d8a2e2ff1079029dcc371b40ef0d787609e9c05219b7456f3e2dfe4fb0cb7bf23ef966769aef1a1
d4ba2b2 compat: remove strnlen back-compat code (fanquake) Pull request description: This was needed for mingw (not mingw-w64), and some older versions of macOS, which we no-longer support. ACKs for top commit: hebasto: ACK d4ba2b2 Tree-SHA512: d1beb9df58464feea3076091361d7d46e4a8901e347644a5fa6f24e052ca24ee0c7c0dd3f2a3d682b0204bf50430fa89eac62121691ea08af6dcf6b907bdec87
This puts it in a function body, so that __func__ is available for reporting any assertion failure.
fa76b2f ci: Avoid boost test warnings (MarcoFalke) Pull request description: This removes boost test warnings from the CI log. For example https://cirrus-ci.com/task/6029158399606784?logs=ci#L4060: ``` Boost.Test WARNING: token "/tmp/cirrus-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/test_bitcoin-addrman_tests.o" does not correspond to the Boost.Test argument and should be placed after all Boost.Test arguments and the -- separator. For example: test_bitcoin --random -- /tmp/cirrus-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/test_bitcoin-addrman_tests.o Boost.Test WARNING: token "/tmp/cirrus-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/test_bitcoin-allocator_tests.o" does not correspond to the Boost.Test argument and should be placed after all Boost.Test arguments and the -- separator. For example: test_bitcoin --random -- /tmp/cirrus-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/test_bitcoin-allocator_tests.o Boost.Test WARNING: token "/tmp/cirrus-build/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/test_bitcoin-amount_tests.o" does not correspond to the Boost.Test argument and should be placed after all Boost.Test arguments and the -- separator. ... ACKs for top commit: fanquake: ACK fa76b2f - checked that tests are also still being run in other jobs. Tree-SHA512: c00fe1242ee6b9ef92d511f1e86305c1731d8894bb89ec8fcdf30069959831483933a93a6bfd33d9f2d15706bdeedbba29e82c409eed266abfc57aabfdaf4841
3c3bd90 test: remove lief install from multiprocess job (fanquake) 983e0a2 contrib: use LIEF 0.12.0 for symbol and security checks (fanquake) Pull request description: [LIEF](https://github.com/lief-project/LIEF) `0.12.0` is [now available](https://github.com/lief-project/LIEF/releases/tag/0.12.0), and includes minor changes we have upstreamed to improve support for RISC-V binaries: * lief-project/LIEF#562 * lief-project/LIEF#640 Closes: #23655. Guix Build (x86_64): ```bash 2fc504baf4f550092f05115f8c7c9046ec2988f097b55b33c4c963e02f11cfc3 guix-build-3c3bd9022026/output/aarch64-linux-gnu/SHA256SUMS.part 15b1a8a33f4b750cf8d3e2753e6fe3ca7560aeefa88c1acbaf0be412cbd81cc4 guix-build-3c3bd9022026/output/aarch64-linux-gnu/bitcoin-3c3bd9022026-aarch64-linux-gnu-debug.tar.gz 77a446792dba101afd565f0b4441c5dfe8e08bf9e4c9ea6e862a0df118a55327 guix-build-3c3bd9022026/output/aarch64-linux-gnu/bitcoin-3c3bd9022026-aarch64-linux-gnu.tar.gz dc63f742a3d396ab2b2115f7cea4e90c127267a0c9fc2f1e9af9e052a670cd41 guix-build-3c3bd9022026/output/arm-linux-gnueabihf/SHA256SUMS.part 5214a5c3e532ddfec218354b6512cc4eedd6411a199cc2d4eed7d0ad77873a0e guix-build-3c3bd9022026/output/arm-linux-gnueabihf/bitcoin-3c3bd9022026-arm-linux-gnueabihf-debug.tar.gz fea7b00ca6d8b7bc72c2e4e2c9e9aa94c76f9f463af82cf0bd5a6fc8951a7fe7 guix-build-3c3bd9022026/output/arm-linux-gnueabihf/bitcoin-3c3bd9022026-arm-linux-gnueabihf.tar.gz 200bf59ecaebdcb2a1302160dd47288135b8cead99e202d1a8b7da8d54a872c3 guix-build-3c3bd9022026/output/arm64-apple-darwin/SHA256SUMS.part 51c079c29966a1f76f690f28ed99d767413327422636bbbe9ca499e97954cfd4 guix-build-3c3bd9022026/output/arm64-apple-darwin/bitcoin-3c3bd9022026-arm64-apple-darwin-unsigned.dmg 2e85d002b7e993a90b23363bb01d8dca644fbabd9debb336012834abeddce024 guix-build-3c3bd9022026/output/arm64-apple-darwin/bitcoin-3c3bd9022026-arm64-apple-darwin-unsigned.tar.gz 257e272f6ed867f7634d1bba5860da855e35793646581b37518e25d1fdab48db guix-build-3c3bd9022026/output/arm64-apple-darwin/bitcoin-3c3bd9022026-arm64-apple-darwin.tar.gz a0c755bb31763995e1d2050d5448bb98194c238fdd6b9eff901e429c9fdfa0f6 guix-build-3c3bd9022026/output/dist-archive/bitcoin-3c3bd9022026.tar.gz cf07cfefe010a1cc58ceab5dd5361ca39d770038d73682bd60b52410708c5f35 guix-build-3c3bd9022026/output/powerpc64-linux-gnu/SHA256SUMS.part aa93521bfbf7cf693fe56500faa6ac460bb297e5af2d8cf4e857f7ea0e92eb34 guix-build-3c3bd9022026/output/powerpc64-linux-gnu/bitcoin-3c3bd9022026-powerpc64-linux-gnu-debug.tar.gz 883c2e5fe0d8215dcc0a252cd62c8fd95fc13b31e1bd72d340dfb2e4adadfe01 guix-build-3c3bd9022026/output/powerpc64-linux-gnu/bitcoin-3c3bd9022026-powerpc64-linux-gnu.tar.gz 903666488f620a5710bc1709f52feb60d530aaba6e7e0b200692fa2945e569b8 guix-build-3c3bd9022026/output/powerpc64le-linux-gnu/SHA256SUMS.part 2dd8a3fa924111e839097da8ee12675a265e64aeeae270f1f3e86f9c9b7bd28a guix-build-3c3bd9022026/output/powerpc64le-linux-gnu/bitcoin-3c3bd9022026-powerpc64le-linux-gnu-debug.tar.gz d93a4347ea376e02760c52bb836317fd3f9c8e78ff004d9c141ebce185f3d364 guix-build-3c3bd9022026/output/powerpc64le-linux-gnu/bitcoin-3c3bd9022026-powerpc64le-linux-gnu.tar.gz 7ee00ec4a2cd83f27d619c6983e93baa198d78167a860e8d9f4c4aa670120ab2 guix-build-3c3bd9022026/output/riscv64-linux-gnu/SHA256SUMS.part 9ad79a47c59a67f881ba2ef7a669ffb667b6e0bd13407730574dc7af542fd935 guix-build-3c3bd9022026/output/riscv64-linux-gnu/bitcoin-3c3bd9022026-riscv64-linux-gnu-debug.tar.gz 35462865447683571b006d426e532090c19ef18b9f399b84ebf37795fb3c4eaa guix-build-3c3bd9022026/output/riscv64-linux-gnu/bitcoin-3c3bd9022026-riscv64-linux-gnu.tar.gz a5a3bb0527ded1eea3956208d1dc7289e39786594ac4cbee17f4c28573b7e4fb guix-build-3c3bd9022026/output/x86_64-apple-darwin/SHA256SUMS.part e75435885e97dec09f3d9c51c0bd5987329a485ef26027d6e7b4cafcec20a9ab guix-build-3c3bd9022026/output/x86_64-apple-darwin/bitcoin-3c3bd9022026-x86_64-apple-darwin-unsigned.dmg 438b027186095eed1615898a403b0bdd0a686d95f0617b4065db469c8c4e732c guix-build-3c3bd9022026/output/x86_64-apple-darwin/bitcoin-3c3bd9022026-x86_64-apple-darwin-unsigned.tar.gz 1d33e0661041f00b4f224f231bbb71bda534ad8ad76a7d2b041084911cdd0814 guix-build-3c3bd9022026/output/x86_64-apple-darwin/bitcoin-3c3bd9022026-x86_64-apple-darwin.tar.gz fc9a88c1cdf10570bc2c453c1a643a04b525155f0b98a18c90b8d5fd64fcf630 guix-build-3c3bd9022026/output/x86_64-linux-gnu/SHA256SUMS.part 435896b6a85f46a2f3f0b5f278936e84d0212ef7102787b70f139648373344d3 guix-build-3c3bd9022026/output/x86_64-linux-gnu/bitcoin-3c3bd9022026-x86_64-linux-gnu-debug.tar.gz 02c84c4c74846740b5336e8889194909bb6d638cf731851ddd8af7bbffd1ae9b guix-build-3c3bd9022026/output/x86_64-linux-gnu/bitcoin-3c3bd9022026-x86_64-linux-gnu.tar.gz d4176cc40eaa0769410717b28637d507ddef182c73c60801f333ddd7a56b41f7 guix-build-3c3bd9022026/output/x86_64-w64-mingw32/SHA256SUMS.part 7623a149798beba635c21639975d5cbf2a417c7e8a1bf3583abe1bb20cfa1673 guix-build-3c3bd9022026/output/x86_64-w64-mingw32/bitcoin-3c3bd9022026-win64-debug.zip a1de00c9d4315928e3ce93890009fe2ea8f3f1fa7ca63004d952192012131d20 guix-build-3c3bd9022026/output/x86_64-w64-mingw32/bitcoin-3c3bd9022026-win64-setup-unsigned.exe 82dc001a7f6d2b405b89bd343276db59954f25461d828ddf2e3c42f5ba4fe164 guix-build-3c3bd9022026/output/x86_64-w64-mingw32/bitcoin-3c3bd9022026-win64-unsigned.tar.gz 6fc6f6101672a4cee2696a1517def03b6872435d968d74a47efbb4f8c5198c03 guix-build-3c3bd9022026/output/x86_64-w64-mingw32/bitcoin-3c3bd9022026-win64.zip ``` Guix Build (arm64): ```bash d803406d4a90f9813bff58f01fde109d77dbf5b37b1af68e7a58fb4c3041a390 guix-build-3c3bd9022026/output/arm-linux-gnueabihf/SHA256SUMS.part 25a234f4c0eb0ed280d7c24b65e2bae75d44f4fade1895d9d6d2a3880ed29557 guix-build-3c3bd9022026/output/arm-linux-gnueabihf/bitcoin-3c3bd9022026-arm-linux-gnueabihf-debug.tar.gz 0b6044ea0441536e7b2853cce5a354fff33625db8c18c70023c78a9de5364376 guix-build-3c3bd9022026/output/arm-linux-gnueabihf/bitcoin-3c3bd9022026-arm-linux-gnueabihf.tar.gz c44810505ee8f7800488c0442edc71550a1f989598c702e9a31709b9880ef8ba guix-build-3c3bd9022026/output/arm64-apple-darwin/SHA256SUMS.part ce9a74deac4a20a2ca4d7f8dfc242aea367c2aa55cb3b9de4e11c691ce0755bd guix-build-3c3bd9022026/output/arm64-apple-darwin/bitcoin-3c3bd9022026-arm64-apple-darwin-unsigned.dmg 341efb7b536ad6f75456dd51134e1afa4773708be2103733c48c8fb7a85df8b0 guix-build-3c3bd9022026/output/arm64-apple-darwin/bitcoin-3c3bd9022026-arm64-apple-darwin-unsigned.tar.gz 607151e3423f712ea1bb0e24b7f625290e2decfe4586adf193e3218f62e87f71 guix-build-3c3bd9022026/output/arm64-apple-darwin/bitcoin-3c3bd9022026-arm64-apple-darwin.tar.gz a0c755bb31763995e1d2050d5448bb98194c238fdd6b9eff901e429c9fdfa0f6 guix-build-3c3bd9022026/output/dist-archive/bitcoin-3c3bd9022026.tar.gz 16f1f669f9f7a658ad25d72e628c68fefdc3469857efd06149b0ae063ad07cf2 guix-build-3c3bd9022026/output/powerpc64-linux-gnu/SHA256SUMS.part 8c36e24b12d0f3c200b51c813a6c8e85b826c994af4891a4eed16bb2447f6ae9 guix-build-3c3bd9022026/output/powerpc64-linux-gnu/bitcoin-3c3bd9022026-powerpc64-linux-gnu-debug.tar.gz 89777d8c44ec0ce3e59e74461fb7ed39b544ff1d40ed8399e3a26733fcd938af guix-build-3c3bd9022026/output/powerpc64-linux-gnu/bitcoin-3c3bd9022026-powerpc64-linux-gnu.tar.gz f51279dc699a1b8625f8fd3e13ec1555e81be7696dc0fd88621177fb4c3353d7 guix-build-3c3bd9022026/output/powerpc64le-linux-gnu/SHA256SUMS.part 15c1aad2b67838fbf004cfd4a0926cb2e2f2d0fcee639e5cf17fec9c659be7ad guix-build-3c3bd9022026/output/powerpc64le-linux-gnu/bitcoin-3c3bd9022026-powerpc64le-linux-gnu-debug.tar.gz 102ae28c667fee645fb1541395531742b89886e153ed979639532c8cab50d24b guix-build-3c3bd9022026/output/powerpc64le-linux-gnu/bitcoin-3c3bd9022026-powerpc64le-linux-gnu.tar.gz ccff48fd8b5a26d32d2743f430d812a449ad00ee502fc1f02538598ff7def9db guix-build-3c3bd9022026/output/riscv64-linux-gnu/SHA256SUMS.part d038064cfb33dee85833a58ee5a7c40c94041aa0574da9fa14837b0da7a92b3a guix-build-3c3bd9022026/output/riscv64-linux-gnu/bitcoin-3c3bd9022026-riscv64-linux-gnu-debug.tar.gz 763a0c5c7492d11370a0208f3110fc73f6bac3526b401d1df3eca5cff1037a36 guix-build-3c3bd9022026/output/riscv64-linux-gnu/bitcoin-3c3bd9022026-riscv64-linux-gnu.tar.gz 14aad526acfed07e5781efa8febe37f002c5772090aad0cd98cf7f4cf0cc3177 guix-build-3c3bd9022026/output/x86_64-apple-darwin/SHA256SUMS.part e75435885e97dec09f3d9c51c0bd5987329a485ef26027d6e7b4cafcec20a9ab guix-build-3c3bd9022026/output/x86_64-apple-darwin/bitcoin-3c3bd9022026-x86_64-apple-darwin-unsigned.dmg 742cacbb471968c396da97bbed0332220b721c552b663e931b9bfeb0e4b2f4de guix-build-3c3bd9022026/output/x86_64-apple-darwin/bitcoin-3c3bd9022026-x86_64-apple-darwin-unsigned.tar.gz 1d33e0661041f00b4f224f231bbb71bda534ad8ad76a7d2b041084911cdd0814 guix-build-3c3bd9022026/output/x86_64-apple-darwin/bitcoin-3c3bd9022026-x86_64-apple-darwin.tar.gz b8fdd26c3aef78d13161f6119d755a853470ced695cb40dcc8ff9f0463a533e1 guix-build-3c3bd9022026/output/x86_64-linux-gnu/SHA256SUMS.part 48846704f00e92e1cb6898a13e077da5a314314d6aa694b022d0f2aa68b7128b guix-build-3c3bd9022026/output/x86_64-linux-gnu/bitcoin-3c3bd9022026-x86_64-linux-gnu-debug.tar.gz 52968c1aea392d19989613b4faf0075702c9aa834f74cd3e7a09883e201ae3e4 guix-build-3c3bd9022026/output/x86_64-linux-gnu/bitcoin-3c3bd9022026-x86_64-linux-gnu.tar.gz a4df21e146042c6d78b0724ace37fdb05ce3a4ce8c1ed8274727b031cf53805e guix-build-3c3bd9022026/output/x86_64-w64-mingw32/SHA256SUMS.part 68f05fc5cc5e157805280bcb36fdbc6873db9e7b3afb4ddd992786db722530fc guix-build-3c3bd9022026/output/x86_64-w64-mingw32/bitcoin-3c3bd9022026-win64-debug.zip a1de00c9d4315928e3ce93890009fe2ea8f3f1fa7ca63004d952192012131d20 guix-build-3c3bd9022026/output/x86_64-w64-mingw32/bitcoin-3c3bd9022026-win64-setup-unsigned.exe 82dc001a7f6d2b405b89bd343276db59954f25461d828ddf2e3c42f5ba4fe164 guix-build-3c3bd9022026/output/x86_64-w64-mingw32/bitcoin-3c3bd9022026-win64-unsigned.tar.gz b644760f08a6147bccae8761e33fa13dc7f0cf391240521a81e57b437e272baa guix-build-3c3bd9022026/output/x86_64-w64-mingw32/bitcoin-3c3bd9022026-win64.zip ``` ACKs for top commit: laanwj: Code review ACK 3c3bd90 hebasto: ACK 3c3bd90, tested that bitcoin/bitcoin#23655 has been resolved. Tree-SHA512: abc95ab68d3973c89d421ee7a5b795f6fa802dc665db47529d5f9aee5b92b8a7b55f9a45c634b9be6e917038e67e785f1809cc189c84be13f089f4e7fa1029f9
…ndbox (AllowFileSystem) f05a4cd util: Add inotify_rm_watch to syscall sandbox (AllowFileSystem) (Hennadii Stepanov) Pull request description: This PR fixes the current master (3297f5c) when running `bitcoin-qt` on Ubuntu 22.04 and quitting: ``` $ ./src/qt/bitcoin-qt -signet -sandbox=log-and-abort Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway. ERROR: The syscall "inotify_rm_watch" (syscall number 255) is not allowed by the syscall sandbox in thread "main". Please report. terminate called without an active exception Aborted (core dumped) ``` Also see bitcoin/bitcoin#24659 (comment) ACKs for top commit: fanquake: ACK f05a4cd - checked that qt is using this in it's filesystem watcher code. Tree-SHA512: 9c7920a25422cd3a040bc1cbc487c12c3dc2b91358c3757f1030d6a1ff12c18c688a8e5b7466f683da88a5e4f5f15d442975660022d706e47021253c24c58f4a
Co-authored-by: Luke Dashjr <[email protected]>
f93c5d2 builder-keys: Add dunxen (Duncan Dean) Pull request description: https://keys.openpgp.org/search?q=948444FCE03B05BA5AB0591EC37B1C1D44C786EE This adds my master key. ACKs for top commit: laanwj: ACK f93c5d2 hebasto: ACK f93c5d2 jonatack: ACK f93c5d2 Tree-SHA512: f1d8bff9f0e3ade825272732e5a5ec749fb6893c5b296b87ac859120f4631b10a3dcc29765a141ff44392f7b38377733dda6d3671c2392f8923cee07118b2297
…ripts 254a63e contrib: refactor: replace `hex_switchEndian` in linearize scripts (Sebastian Falbesoner) 3f863cf contrib: refactor: simplify block header string routine in linearize-data.py (Sebastian Falbesoner) Pull request description: This PR simplifies the linearization scripts `linearize-data.py` and `linearize-hashes.py` by replacing overly complicated cruft (block header hash string calculation, hex string reverse) with means of the Python3 standard library. ACKs for top commit: laanwj: Code review ACK 254a63e Tree-SHA512: 4a0e20e63bd11f23a190480b22dbc2f2a3070e2a4f3a01b8797f99bb5fc830185e91e6712c8ae97562f9a24a98aa4f19d52f02a3f5fcbe4c578ee88a41382d1d
bb84b71 add tests for no recipient and using send_max while inputs are specified (ishaanam) 49090ec Add sendall RPC née sweep (Murch) 902793c Extract FinishTransaction from send() (Murch) 6d2208a Extract interpretation of fee estimation arguments (Murch) a31d75e Elaborate error messages for outdated options (Murch) 35ed094 Extract prevention of outdated option names (Murch) Pull request description: Add sendall RPC née sweep _Motivation_ Currently, the wallet uses a fSubtractFeeAmount (SFFO) flag on the recipients objects for all forms of sending calls. According to the commit discussion, this flag was chiefly introduced to permit sweeping without manually calculating the fees of transactions. However, the flag leads to unintuitive behavior and makes it more complicated to test many wallet RPCs exhaustively. We proposed to introduce a dedicated `sendall` RPC with the intention to cover this functionality. Since the proposal, it was discovered in further discussion that our proposed `sendall` rpc and SFFO have subtly different scopes of operation. • sendall: Use _given UTXOs_ to pay a destination the remainder after fees. • SFFO: Use a _given budget_ to pay an address the remainder after fees. While `sendall` will simplify cases of spending a given set of UTXOs such as paying the value from one or more specific UTXOs, emptying a wallet, or burning dust, we realized that there are some cases in which SFFO is used to pay other parties from a limited budget, which can often lead to the creation of change outputs. This cannot be easily replicated using `sendall` as it would require manual computation of the appropriate change amount. As such, sendall cannot replace all uses of SFFO, but it still has a different use case and will aid in simplifying some wallet calls and numerous wallet tests. _Sendall call details_ The proposed sendall call builds a transaction from a specific subset of the wallet's UTXO pool (by default all of them) and assigns the funds to one or more receivers. Receivers can either be specified with a given amount or receive an equal share of the remaining unassigned funds. At least one recipient must be provided without assigned amount to collect the remainder. The `sendall` call will never create change. The call has a `send_max` option that changes the default behavior of spending all UTXOs ("no UTXO left behind"), to maximizing the output amount of the transaction by skipping uneconomic UTXOs. The `send_max` option is incompatible with providing a specific set of inputs. --- Edit: Replaced OP with latest commit message to reflect my updated motivation of the proposal. ACKs for top commit: achow101: re-ACK bb84b71 Tree-SHA512: 20aaf75d268cb4b144f5d6437d33ec7b5f989256b3daeeb768ae1e7f39dc6b962af8223c5cb42ecc72dc38cecd921c53c077bc0ec300b994e902412213dd2cc3
When `getrawtransaction` is successfully used on a coinbase transaction, there is an assertion error. This is very unlikely but happens in the test in #24358. This does the following: - Add missing "coinbase" documentation. - Synchronize documentation between `getrawtransaction` and `decoderawtransaction`, the two users of `TxToUniv` that have detailed documentation. `decodepsbt` also uses it but fortunately elides this block. - Change "vout[].amount" to `STR_AMOUNT` for consistency. - Add maintainer comment to keep the two places synchronized. It might be possible to get smarter with deduplication, but there are some extra fields that prevent the obvious way.
This creates random OutputGroups and runs the existing coinselection algorithms for them.
fa73f8a ci: Use clang-12 and libcxx-12 for msan (MarcoFalke) Pull request description: Run the latest sanitizers to get the most implemented features ACKs for top commit: fanquake: ACK fa73f8a - `--disable-hardening` matches what was just added to oss-fuzz. Tree-SHA512: 2e533bb9273c97600176be2e41069a03f425aa586f9f32b8ed5f0c9844215a3a41e95a8edd58d044386e350807d6a1df09008a7da35428abd185a509ca71bd82
Too early NotifyWalletLoaded() call in CWallet::Create() results the notification goes before DescriptorScriptPubKeyMans were created and added to an encrypted wallet. Co-authored-by: Andrew Chow <[email protected]>
QML features are mentioned in the `qt.mk` file explicitly for easy reference. The only exception is the qml-jit feature, the availability of which depends on the host platform.
Cherry-picked: 6521cb8
Cherry-picked: 500a6d2
This incorporates the new bitcoin-qt init implementation into the qml-gui. Cherry-picked: 749470f
Cherry-picked: 5b00612
Cherry-picked: 37cfe4e
Cherry-picked: 61668e9
Cherry-picked: 1bf3d5d
-BEGIN VERIFY SCRIPT- QML_FILES=$(git ls-files '*.qml') sed -i -e 's/import QtQuick 2.12/import QtQuick 2.15/' -- $QML_FILES sed -i -e 's/import QtQuick.Controls 2.12/import QtQuick.Controls 2.15/' -- $QML_FILES sed -i -e 's/import QtQuick.Layouts 1.11/import QtQuick.Layouts 1.15/' -- $QML_FILES -END VERIFY SCRIPT- Cherry-picked: e311e72
Cherry-picked: 6aee4e3
- This commit uses the function added in previous commit to display the working progress bar in GUI - This commit also removes the tempory mouseClick event which used to change the progress meter when clicked. Cherry-picked: bcea86c
Cherry-picked: 9b9d198
Buster has been replaced with bullseye for system Qt 5.15. Compiler versions: - buster: 8.3.0-6 - bullseye: 9.3.0-22
Concept ACK, should be noted that some of the commits in the "after" section are effectively new commits being added to the repo. I have compiled and ran this branch locally with a dynamic build on x86 linux. I have also done my own sync where:
|
GUIX HASHES, mine match @hebasto
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK 229c56b
Sync with the main repo up to bitcoin/bitcoin@7190de9.
Note 1
The bitcoin/bitcoin@7190de9 was chosen to sync to make this PR manageable to review. The next commit in the main repo introduces a sophisticated conflicts which needs some special treatment.
Note 2
To make next syncs easier, a few groups of commits were rearranged when they were applied back.
Group A
before:
after:
Group B
before:
#include <QStringLiteral>
"after:
Group C
before:
after:
Note 3
Commits:
have been effectively dropped as they are no longer required.
Note 4
A new commit 229c56b "ci: Fix Win64 task" were added.
Note 5
Errors in the "previous releases..." CI task were solved by clearing CI cache.
Guix builds: