Commit graph

35074 commits

Author SHA1 Message Date
brunoerg
d1a0004621 test: add coverage for invalid parameters for rescanblockchain 2022-08-23 17:13:52 -03:00
Andrew Chow
c336f813b3
Merge bitcoin/bitcoin#25504: RPC: allow to track coins by parent descriptors
a6b0c1fcc0 doc: add releases notes for 25504 (listsinceblock updates) (Antoine Poinsot)
0fd2d14454 rpc: add an include_change parameter to listsinceblock (Antoine Poinsot)
55f98d087e rpc: output parent wallet descriptors for coins in listunspent (Antoine Poinsot)
b724476158 rpc: output wallet descriptors for received entries in listsinceblock (Antoine Poinsot)
55a82eaf91 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 a6b0c1fcc0
  achow101:
    re-ACK a6b0c1fcc0

Tree-SHA512: 7a5850e8de98b439ddede2cb72de0208944f8cda67272e8b8037678738d55b7a5272375be808b0f7d15def4904430e089dafdcc037436858ff3292c5f8b75e37
2022-08-16 13:08:05 -04:00
Antoine Poinsot
a6b0c1fcc0
doc: add releases notes for 25504 (listsinceblock updates) 2022-08-16 18:33:12 +02:00
Antoine Poinsot
0fd2d14454
rpc: add an include_change parameter to listsinceblock
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-16 18:33:05 +02:00
fanquake
cf39913e57
Merge bitcoin/bitcoin#25803: refactor: Drop boost/algorithm/string/replace.hpp dependency
fea75ad3ca refactor: Drop `boost/algorithm/string/replace.hpp` dependency (Hennadii Stepanov)
857526e8cb 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 fea75ad3ca
  theStack:
    Code-review ACK fea75ad3ca

Tree-SHA512: dacfffc9d2bd1fb9f034baf8c045b1e8657b766db2f0a7f8ef7e25ee6cd888f315b0124c54aba7a29ae59186b176ef9868a8b709dc995ea215c6b4ce58e174d9
2022-08-16 09:19:28 +01:00
fanquake
b63c24a509
Merge bitcoin/bitcoin#25809: build: add test_bitcoin.exe to win installer, don't install entire docs/ dir
d755ffc327 build: package test_bitcoin in Windows installer (fanquake)
aa30e046ac 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 d755ffc327
  1440000bytes:
    ACK d755ffc327
  hebasto:
    ACK d755ffc327, tested on Windows 11 Pro.

Tree-SHA512: 7f1b46182b616806f706e20ccb05d8e563d5ff8f1155169713db780c06bbe3fffdb4c1b3f5da7c3e01bfcd40e7046811ff0710b81342d4c53d67ce91b36a7da7
2022-08-16 09:14:42 +01:00
MacroFake
0f90b58686
Merge bitcoin/bitcoin#25833: doc: minor updates to guix README
98383d6d0d 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 98383d6d0d

Tree-SHA512: 6980f5952862773e79ca317edb4aadf6ff7c71726a0e4cb873c08bf51360c64e0498aabf4f53780f13cb06838eda93c89ba10fe35c4c8ae2b23191ab961b98f8
2022-08-16 08:38:04 +02:00
Stacie
98383d6d0d doc: minor updates to guix README 2022-08-15 16:03:17 -04:00
Andrew Chow
22d96d76ab
Merge bitcoin/bitcoin#25720: p2p: Reduce bandwidth during initial headers sync when a block is found
f6a916683d Add functional test for block announcements during initial headers sync (Suhas Daftuar)
05f7f31598 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 f6a916683d
  ajtowns:
    ACK f6a916683d
  mzumsande:
    ACK f6a916683d
  dergoegge:
    Code review ACK f6a916683d
  achow101:
    ACK f6a916683d

Tree-SHA512: 0662000bd68db146f55981de4adc2e2b07cbfda222b1176569d61c22055e5556752ffd648426f69687ed1cc203105515e7304c12b915d6270df8e41a4a0e1eaa
2022-08-15 15:43:41 -04:00
Hennadii Stepanov
6d4889a694
Merge bitcoin-core/gui#598: Avoid recalculating the wallet balance - use model cache
4584d300a4 GUI: remove now unneeded 'm_balances' field from overviewpage (furszy)
050e8b1391 GUI: 'getAvailableBalance', use cached balance if the user did not select UTXO manually (furszy)
96e3264a82 GUI: use cached balance in overviewpage and sendcoinsdialog (furszy)
321335bf02 GUI: add getter for WalletModel::m_cached_balances field (furszy)
e62958dc81 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 4584d300a4
  hebasto:
    re-ACK 4584d300a4, 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-15 19:38:17 +01:00
Hennadii Stepanov
867f5fd1b3
Merge bitcoin-core/gui#654: Update source translations for string freeze
fcc0c8448b 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 fcc0c8448b, `make -C src translate` produces zero diff.
  jarolrod:
    ACK fcc0c8448b

Tree-SHA512: 2c2383a6f1ad086e86b7c7d35b9a06c30090a8c9517f93912b64957ec58c95c982d5340f189028717dc876e14ba2344750e3f5d81b522b0cf3d7f4586b8e0cc6
2022-08-15 19:34:51 +01:00
MacroFake
a5d5569535
Merge bitcoin/bitcoin#25850: doc: Remove my key from SECURITY.md
38a911e107 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 38a911e107

Tree-SHA512: 6f7a9aad9a2d1b2f5ce89b2521d103a7093b9ebb54e7388bfb2836b89ddb592878955088b4d2d8a141ee532a7b35d3a74737fb161280c029f1f2a3eacec99b73
2022-08-15 14:36:30 +02:00
fanquake
d9cd8b419c
Merge bitcoin/bitcoin#25849: refactor: Remove not needed empty RPC doc std::string
fac09f4f7a 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 fac09f4f7a.

Tree-SHA512: 7fae9c612dbb82db39e3dc6e20cc7d0c8128f4abf27e34f4854f908dc1bf3ad48ebee2dbbb864a9ce95e98c5d57119bf976793945a2084a43d137c2d95a25ea1
2022-08-15 13:32:03 +01:00
laanwj
38a911e107
doc: Remove my key from SECURITY.md
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-15 12:49:36 +02:00
MacroFake
fac09f4f7a
refactor: Remove not needed empty RPC doc std::string 2022-08-15 12:38:05 +02:00
laanwj
fcc0c8448b qt: Update source translations for string freeze
It looks like only one message was added: "Too many external signers
found".
2022-08-15 12:35:32 +02:00
MacroFake
2778cccf1c
Merge bitcoin/bitcoin#25836: subtree: update crc32c subtree
08269e54a9 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 9546b3a2a3, I have reviewed the code and it looks OK, I agree it can be merged.
  jarolrod:
    ACK 9546b3a2a3

Tree-SHA512: e5f98fd3bdb90516d24ed6cc26da9ed4a83374888d322a4e3a26d8df4a2352711d842787b07ba94e2dbd142391bb8f39eb6f040cbb3c2f217f7980b69aaae31f
2022-08-15 12:33:14 +02:00
fanquake
cc1efe909e
Merge bitcoin/bitcoin#25838: build, qt: Use mkspecs/bitcoin-linux-g++ for all Linux hosts
59f2cc23e0 build, qt: Use `mkspecs/bitcoin-linux-g++` for all Linux hosts (Hennadii Stepanov)
d61f6677e3 build: Add objcopy host tool (Hennadii Stepanov)
a2e733b946 doc: Remove no longer needed comments (Hennadii Stepanov)
968ea66537 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 59f2cc23e0 - 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-15 11:01:47 +01:00
fanquake
dc9d662683
Merge bitcoin/bitcoin#25235: GetExternalSigner(): fail if multiple signers are found
292b1a3e9c 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 292b1a3e9c
  achow101:
    ACK 292b1a3e9c

Tree-SHA512: e2a41d3eecc607d4f94e708614bed0f3545f7abba85f300c5a5f0d3d17d72c815259734accc5ca370953eacd290f27894ba2c18016f5e9584cd50fa1ec2fbb0b
2022-08-13 16:08:19 +01:00
Hennadii Stepanov
59f2cc23e0
build, qt: Use mkspecs/bitcoin-linux-g++ for all Linux hosts 2022-08-13 14:08:42 +01:00
Hennadii Stepanov
d61f6677e3
build: Add objcopy host tool
Qt's mkspec references the objcopy tool.
2022-08-13 14:08:12 +01:00
Hennadii Stepanov
a2e733b946
doc: Remove no longer needed comments
Co-authored-by: fanquake <fanquake@gmail.com>
2022-08-13 14:08:04 +01:00
fanquake
9546b3a2a3
Update crc32c subtree to latest upstream master 2022-08-13 13:55:38 +01:00
fanquake
08269e54a9 Squashed 'src/crc32c/' changes from 0d624261ef..0bac72c455
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-13 13:55:38 +01:00
Hennadii Stepanov
968ea66537
build: Adjust qt/guix_cross_lib_path.patch 2022-08-13 13:45:22 +01:00
fanquake
aca0200e94
Merge bitcoin/bitcoin#25817: build: fix cross-arch macOS M1 build reproducibility
08bd338277 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 08bd338277
  jarolrod:
    ACK 08bd338277

Tree-SHA512: 48da4acb1799c3153cdaf674f287c81c3da230a3476183616b74f318baa595af45b313136eb228ba13c63e0b8206a78064734f9fd0488e1e839c9e4e1d92ba25
2022-08-13 13:41:18 +01:00
Suhas Daftuar
f6a916683d Add functional test for block announcements during initial headers sync 2022-08-12 17:13:00 -04:00
Suhas Daftuar
05f7f31598 Reduce bandwidth during initial headers sync when a block is found
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-12 17:05:04 -04:00
furszy
4584d300a4
GUI: remove now unneeded 'm_balances' field from overviewpage 2022-08-12 13:06:10 -03:00
furszy
050e8b1391
GUI: 'getAvailableBalance', use cached balance if the user did not select UTXO manually
No need to walk through the entire wallet's tx map. Used for 'walletModel::prepareTransaction' and 'useAvailable' flow in sendcoinsdialog.
2022-08-12 13:06:05 -03:00
furszy
96e3264a82
GUI: use cached balance in overviewpage and sendcoinsdialog
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-12 13:06:05 -03:00
furszy
321335bf02
GUI: add getter for WalletModel::m_cached_balances field
No need to guard it as it is/will only be accessed from the main thread for now
2022-08-12 13:05:57 -03:00
furszy
e62958dc81
GUI: sendCoinsDialog, remove duplicate wallet().getBalances() call
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-12 13:05:47 -03:00
fanquake
08bd338277
build: optimise arm64 darwin qt build using -O1
Building at higher optimisation levels causes reproducibility issues
when building on different architectures.
2022-08-12 16:38:29 +01:00
MacroFake
bf3f05f41d
Merge bitcoin/bitcoin#25785: bench: Add a benchmark for descriptor expansion
478695982b 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 478695982b

Tree-SHA512: f2efdf8f84e1783c7c298abe65123191d25cab0a9da2d0ff5957a60acc2d10e356151d7ecec0d98d28c456f42ddef50efd70c7edc0c9012df2a977e080515b9d
2022-08-12 13:00:06 +02:00
MacroFake
89b2194124
Merge bitcoin/bitcoin#25814: net: simplify GetLocalAddress()
daabd41211 net: simplify GetLocalAddress() (Vasil Dimov)

Pull request description:

  There is no need to use two variables `ret` and `addr` of the same type
  `CService` and assign one to the other in a strange way like
  `ret = CService{addr}`.

ACKs for top commit:
  jarolrod:
    ACK daabd41211
  aureleoules:
    ACK daabd41211.
  w0xlt:
    ACK daabd41211

Tree-SHA512: 4bbd3746bc30fbc05bb32b58bb122c938acd849c0f72f1d3e8170557c1999ec26a888e06e874c3fc22562a2becddc7d817db7d174e0e1b383e8d74c39aa1e898
2022-08-12 10:52:42 +02:00
MacroFake
27724c23f7
Merge bitcoin/bitcoin#25677: refactor: make active_chain_tip a reference
9376a6dae4 refactor: make active_chain_tip a reference (Aurèle Oulès)

Pull request description:

  This PR fixes a TODO introduced in #21055.

  Makes `active_chain_tip` argument in `CheckFinalTxAtTip` function a reference instead of a pointer.

ACKs for top commit:
  dongcarl:
    ACK 9376a6dae4

Tree-SHA512: c36d1769e0b9598b7f79334704b26b73e958d54caa3bd7e4eff954f3964fcf3f5e3a44a5a760497afad51b76e1614c86314fe035e4083c855e3574a620de7f4d
2022-08-12 08:32:15 +02:00
Andrew Chow
5d294bccba
Merge bitcoin/bitcoin#25825: wallet: consolidate CoinSelectionParams::m_change_target and m_min_change_target
acda7e8686 [coin selection] consolidate m_change_target and m_min_change_target (glozow)

Pull request description:

  These values are both intended for the same thing. Their divergence seems to be the result of an incomplete rename.

ACKs for top commit:
  achow101:
    ACK acda7e8686
  Xekyo:
    ACK acda7e8686
  furszy:
    ACK acda7e86
  aureleoules:
    ACK acda7e8686.

Tree-SHA512: 4b86171af5d893f7172373bb404bad12c49588ad1e22eb0544c242173f4bc4dede2ff1270c93c9f02f503ab8d9f66b841a8319d0ecb5e896d0fe8727cf03dbf4
2022-08-11 15:04:13 -04:00
MacroFake
e5d8b65423
Merge bitcoin/bitcoin#25815: test: Use existing {Chainstate,Block}Man
2e79fb6585 validation tests: Use existing {Chainstate,Block}Man (Carl Dong)

Pull request description:

  This is split up because it is needed for two changes:
  * https://github.com/bitcoin/bitcoin/pull/25781
  * https://github.com/bitcoin/bitcoin/pull/25623

ACKs for top commit:
  adam2k:
    ACK tested 2e79fb6585
  aureleoules:
    ACK 2e79fb6585.

Tree-SHA512: 2cd6a2fec19545f8ffc77e37ccb793aa6cb5815bb1b5e560c0345af6e0f890fd500ae3297b044d3f6f613b8dd7fd4553f5fc2824013342b9e25af1fe2b624967
2022-08-11 19:48:07 +02:00
Andrew Chow
e078ee9d9d
Merge bitcoin/bitcoin#25664: refactor: Redefine IsSolvable() using descriptors
b16f93cadd script/sign: remove needless IsSolvable() utility (Antoine Poinsot)
c232ef20c0 outputtype: remove redundant check for uncompressed keys in AddAndGetDestinationForScript (Antoine Poinsot)

Pull request description:

  Now that we have descriptors there is no need to try to sign for a scriptPubKey using dummy signatures, and using a mocked verification of this witness against the interpreter, just to make sure we know how to spend such a Script. Just try to infer a solvable descriptor: any scriptPubKey that we can sign for can be inferred as such.

  This came up in #24149 but i think it's worth it on its own.

ACKs for top commit:
  instagibbs:
    ACK b16f93cadd
  achow101:
    re-ACK b16f93cadd
  furszy:
    ACK b16f93ca, only change is the `IsSolvable` helper function removal.

Tree-SHA512: 137068157ce90210b710b1bf9ac3c400e2ff5af1112f892094b69875ea473d6a899f52adb51e5030cb907dee517602059cd1661107808558efa5de842ba12b41
2022-08-11 13:41:47 -04:00
MacroFake
29c195cf6a
Merge bitcoin/bitcoin#25792: test: add tests for datacarrier and datacarriersize options
8b3d2bbd0d test: add tests for `datacarrier` and `datacarriersize` options (w0xlt)

Pull request description:

  As suggested in https://github.com/bitcoin/bitcoin/issues/25787, this PR adds tests for `datacarrier` and `datacarriersize` initialization options.

  Close https://github.com/bitcoin/bitcoin/issues/25787.

ACKs for top commit:
  theStack:
    re-ACK 8b3d2bbd0d
  stickies-v:
    re-ACK 8b3d2bbd0d

Tree-SHA512: 962638ac9659f9d641bc5d1eff0571a08085dc7d4981b534b7ede03e4c702abd7048d543c199a588e2f94567b6d2393280e686629b19d7f4b24d365662be5e40
2022-08-11 18:04:30 +02:00
Andrew Chow
243d7bde78
Merge bitcoin/bitcoin#25798: build: fix cleanup of test logs
5474f5c356 build: fix cleanup of test logs (fanquake)

Pull request description:

  `make clean` currently looks for `test_name.cpp.log`, when it should be `test_name.log`, meaning .log files are left after running `make clean`.

  Also fixes #21705. `make distcheck` seems to work fine after the logs files are properly cleaned up:
  ```bash
  ./autogen.sh && ./configure && make distcheck -j9
  ....
  make[1]: Leaving directory '/home/ubuntu/bitcoin/bitcoin-23.99.0/_build/sub'
  if test -d "bitcoin-23.99.0"; then find "bitcoin-23.99.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "bitcoin-23.99.0" || { sleep 5 && rm -rf "bitcoin-23.99.0"; }; else :; fi
  =================================================
  bitcoin-23.99.0 archives ready for distribution:
  bitcoin-23.99.0.tar.gz
  =================================================
  ```

  Probably broken in #19385 / #24715.

  Guix Build (x86_64):
  ```bash
  c33306c2ae55bc0e037a1050bd0813fd7654f21fefd0e7df089a541118b629bc  guix-build-5474f5c356c5/output/aarch64-linux-gnu/SHA256SUMS.part
  f3cf5b8366e27155f3a369ab0d017074912506c43b4010054a72e5c3ae8cab2c  guix-build-5474f5c356c5/output/aarch64-linux-gnu/bitcoin-5474f5c356c5-aarch64-linux-gnu-debug.tar.gz
  48f618300f63533c50c31395959737103bb0279972b989cc5417adbf338a5c9f  guix-build-5474f5c356c5/output/aarch64-linux-gnu/bitcoin-5474f5c356c5-aarch64-linux-gnu.tar.gz
  6b3e0ceefc84dfad48aec3a9ea8ae98a427775242370234709605855f593dc88  guix-build-5474f5c356c5/output/arm-linux-gnueabihf/SHA256SUMS.part
  36a38f4d0d2d0fee51256ee9c610cde014055cf18b5b852c8b3235ef218b461e  guix-build-5474f5c356c5/output/arm-linux-gnueabihf/bitcoin-5474f5c356c5-arm-linux-gnueabihf-debug.tar.gz
  3acb46a786323068fe34eaa8b2f7bff428d35367677e456b78fc00db09da8adf  guix-build-5474f5c356c5/output/arm-linux-gnueabihf/bitcoin-5474f5c356c5-arm-linux-gnueabihf.tar.gz
  aaeb126cca3cbbb1d21be2cbb36b3e16a8c110199a5e61172ee55c9c913fb717  guix-build-5474f5c356c5/output/arm64-apple-darwin/SHA256SUMS.part
  0135d47c34dfbfbcd68181292fc810a1be4efaa0ff9fab05f9f33415167fc82c  guix-build-5474f5c356c5/output/arm64-apple-darwin/bitcoin-5474f5c356c5-arm64-apple-darwin-unsigned.dmg
  261ae9f70238ecbd8fedf9b3e02f34601abe42c4a23b25d0571d04d0881fdaba  guix-build-5474f5c356c5/output/arm64-apple-darwin/bitcoin-5474f5c356c5-arm64-apple-darwin-unsigned.tar.gz
  de716e0f425bae38cfda2690e86dbfa6831b6d37dd8a7638ca14334eecbddf99  guix-build-5474f5c356c5/output/arm64-apple-darwin/bitcoin-5474f5c356c5-arm64-apple-darwin.tar.gz
  2e2e1d5cd009ec5c69ce22124afe90ff8c15e9cb546df818b2305ff96efa9c81  guix-build-5474f5c356c5/output/dist-archive/bitcoin-5474f5c356c5.tar.gz
  85dd41584a2c7715b16508dff0f51bbb20b3891a1901a1781ecc37bc1cfd97c8  guix-build-5474f5c356c5/output/powerpc64-linux-gnu/SHA256SUMS.part
  49ae951e9acb34fede0ead4d53679ddc041bfb6d60646efaca2a99cf87972be9  guix-build-5474f5c356c5/output/powerpc64-linux-gnu/bitcoin-5474f5c356c5-powerpc64-linux-gnu-debug.tar.gz
  2efcb3fbb6702bff30bbf05d83b9849f390c67a1c363c883d71f365f4bee7ef6  guix-build-5474f5c356c5/output/powerpc64-linux-gnu/bitcoin-5474f5c356c5-powerpc64-linux-gnu.tar.gz
  cea9e8e2499932ef6e20bba7a6b3408e2cca6fcd1875c1890293dd745add6942  guix-build-5474f5c356c5/output/powerpc64le-linux-gnu/SHA256SUMS.part
  7616659242a1f15b7d6f9f54382dfb52d0bbdca701e1fb3d48fbe7bb590e6213  guix-build-5474f5c356c5/output/powerpc64le-linux-gnu/bitcoin-5474f5c356c5-powerpc64le-linux-gnu-debug.tar.gz
  d9d4eeaf6f9d1272000aa598c8461afc330a8e65f263d45b0eab222f8ddfec71  guix-build-5474f5c356c5/output/powerpc64le-linux-gnu/bitcoin-5474f5c356c5-powerpc64le-linux-gnu.tar.gz
  f83ee11c35001d34f9fba7d1e9e201a4cc6fa5e44bd51e13dabffcb35324348c  guix-build-5474f5c356c5/output/riscv64-linux-gnu/SHA256SUMS.part
  c441e56f23f224122ed064cdb57364fb129f5c9d50c5e8173952ce649b46bdb8  guix-build-5474f5c356c5/output/riscv64-linux-gnu/bitcoin-5474f5c356c5-riscv64-linux-gnu-debug.tar.gz
  319db8af21a4d3c7bbdf54c315ad70bacf7fba1f2559408188d90c9ba60ca63c  guix-build-5474f5c356c5/output/riscv64-linux-gnu/bitcoin-5474f5c356c5-riscv64-linux-gnu.tar.gz
  9ac536a04d7e500f87b1f7dfb60e1e84cde2c192d3dffb89c308b864e9b9d583  guix-build-5474f5c356c5/output/x86_64-apple-darwin/SHA256SUMS.part
  19e70f13fb4bf82375f7ca882a23e831f84729278e643cf5911182bdababa893  guix-build-5474f5c356c5/output/x86_64-apple-darwin/bitcoin-5474f5c356c5-x86_64-apple-darwin-unsigned.dmg
  673a20e9457af3d0a89ea6721f84c6136132d3fbe469b7371bf14ce688b567d0  guix-build-5474f5c356c5/output/x86_64-apple-darwin/bitcoin-5474f5c356c5-x86_64-apple-darwin-unsigned.tar.gz
  74162d53faffc4372ae4587cde395fe078b5c440c43c5a4ad8b8b890e9546255  guix-build-5474f5c356c5/output/x86_64-apple-darwin/bitcoin-5474f5c356c5-x86_64-apple-darwin.tar.gz
  d751d50427d7abcbe9ac1daf087dc3addb7e4e6b90bb4c3ef6c31f8e54cac25e  guix-build-5474f5c356c5/output/x86_64-linux-gnu/SHA256SUMS.part
  49951b53172d4fe193d7ffc15b04a4bc058a3209653982b65912f2b221305dd4  guix-build-5474f5c356c5/output/x86_64-linux-gnu/bitcoin-5474f5c356c5-x86_64-linux-gnu-debug.tar.gz
  93d4c4b07202a9171a72b6887e3931e53b3a8c22433b26521e2cb2a0c942f52a  guix-build-5474f5c356c5/output/x86_64-linux-gnu/bitcoin-5474f5c356c5-x86_64-linux-gnu.tar.gz
  b4b79e3578b6ffbb3075aacff969fb201b386e35a2d9d597047b61ff14bdfbfb  guix-build-5474f5c356c5/output/x86_64-w64-mingw32/SHA256SUMS.part
  8260f5c9a38cc577dff2143f00c465d117aa9835b3633365289d6807d7e46e7c  guix-build-5474f5c356c5/output/x86_64-w64-mingw32/bitcoin-5474f5c356c5-win64-debug.zip
  b20fbf02ddf617b86e5d5f88346ed97f9d169cd56904684ba3ca5f03ea85f008  guix-build-5474f5c356c5/output/x86_64-w64-mingw32/bitcoin-5474f5c356c5-win64-setup-unsigned.exe
  16e9d1b817a832bfb0be2b9065440245a5d04b3aae8e34ff0f43f20c5dd7047f  guix-build-5474f5c356c5/output/x86_64-w64-mingw32/bitcoin-5474f5c356c5-win64-unsigned.tar.gz
  da766e257d10cf8890a530babc6100039c69ae7ed8e4f969eb612b4a411dd88f  guix-build-5474f5c356c5/output/x86_64-w64-mingw32/bitcoin-5474f5c356c5-win64.zip
  ```

ACKs for top commit:
  adam2k:
    ACK 5474f5c356
  achow101:
    ACK 5474f5c356
  jarolrod:
    ACK 5474f5c356

Tree-SHA512: d5595c96d0386b5ee9b98d9499770a00d8b751500020bf92f75c88e688640a50cfa5ebe7c26dea8cc5473b16a6adb83ec39891dd18d32ef59df5cf48d7091d6c
2022-08-11 11:57:12 -04:00
w0xlt
8b3d2bbd0d
test: add tests for datacarrier and datacarriersize options
Co-authored-by: Sebastian Falbesoner <sebastian.falbesoner@gmail.com>
2022-08-11 12:05:09 -03:00
glozow
acda7e8686
[coin selection] consolidate m_change_target and m_min_change_target
These values are both intended for the same thing. Their divergence
seems to be the result of an incomplete rename.
2022-08-11 15:23:21 +01:00
Antoine Poinsot
b16f93cadd
script/sign: remove needless IsSolvable() utility
It was used back when we didn't have a concept of descriptor. Now we
can check for solvability using descriptors.
2022-08-11 15:43:40 +02:00
fanquake
dd62721ba9
Merge bitcoin/bitcoin#25820: [test] make tx6 child of tx5, not tx3, in rbf_tests
49db42cdf5 [test] make tx6 child of tx5, not tx3, in rbf_tests (glozow)

Pull request description:

  A small overlooked oopsie from #25674.
  There is no effect on the test results because tx3 and tx5 pay the same fee, but this was the intended configuration, as the comment suggests.

ACKs for top commit:
  instagibbs:
    ACK 49db42cdf5
  darosior:
    Github diff ACK 49db42cdf5. Should have catched this. :/

Tree-SHA512: 2f54337ac3edc38707115cde5b466a85b8a6ac0a0a507effa0e9fecb12c9be196ecd1b16702bc23ba617cfb6a3b5db27d3b71616b3c2dadb186c699c4609831e
2022-08-11 14:29:23 +01:00
glozow
49db42cdf5
[test] make tx6 child of tx5, not tx3, in rbf_tests
There is no effect on the test results because tx3 and tx5 pay the say
fee, but this was the intended configuration, as the comment suggests.
2022-08-11 12:48:09 +01:00
fanquake
0094ff3947
Merge bitcoin/bitcoin#25812: psbt: Avoid unsigned int overflow in PSBT_IN_TAP_BIP32_DERIVATION
70a55c059b psbt: Avoid unsigned int overflow in PSBT_IN_TAP_BIP32_DERIVATION (Andrew Chow)

Pull request description:

  Fixes #25749

ACKs for top commit:
  instagibbs:
    ACK 70a55c059b
  darosior:
    re-utACK 70a55c059b
  jonatack:
    Review ACK 70a55c059b, this should avoid the issue reported in https://github.com/bitcoin/bitcoin/issues/25749

Tree-SHA512: 6bb58e1cda9a5baa50fcd24f818b5b27ed94f0d33da3f71f6e457618176611bf2a84e1864e9a48d9303c301252bc4c1dee8b19a67dd713e849fb9442851ca341
2022-08-11 10:12:20 +01:00
MacroFake
cd230f3281
Merge bitcoin/bitcoin#25816: msvc: Drop _SILENCE_CXX17_OLD_ALLOCATOR_MEMBERS_DEPRECATION_WARNING
9f9339c692 msvc: Drop `_SILENCE_CXX17_OLD_ALLOCATOR_MEMBERS_DEPRECATION_WARNING` (Hennadii Stepanov)

Pull request description:

  It is no longer needed.

ACKs for top commit:
  sipsorcery:
    tACK 9f9339c692.

Tree-SHA512: 7bcb9df4629726ddb8b23e73b186635be54a5e5379928ce250ba2fba7a6d6f1dda98429b8329790e34fcb3861a8b00c6954746ea78e99693b86c51017c4713e0
2022-08-11 09:09:53 +02:00
Andrew Chow
93999a5fbe
Merge bitcoin/bitcoin#25642: Don't wrap around when deriving an extended key at a too large depth
fb9faffae3 extended keys: fail to derive too large depth instead of wrapping around (Antoine Poinsot)
8dc6670ce1 descriptor: don't assert success of extended key derivation (Antoine Poinsot)
50cfc9e761 (pubk)key: mark Derive() as nodiscard (Antoine Poinsot)
0ca258a5ac descriptor: never ignore the return value when deriving an extended key (Antoine Poinsot)
d3599c22bd spkman: don't ignore the return value when deriving an extended key (Antoine Poinsot)

Pull request description:

  We would previously  silently wrap the derived child's depth back to `0`. Instead, explicitly fail when trying to derive an impossible depth, and handle the error in callers.

  An extended fuzzing corpus of `descriptor_parse` triggered this behaviour, which was reported by MarcoFalke.

  Fixes #25751.

ACKs for top commit:
  achow101:
    re-ACK fb9faffae3
  instagibbs:
    utACK  fb9faffae3

Tree-SHA512: 9f75c23572ce847239bd15e5497df2960b6bd63c61ea72347959d968b5c4c9a4bfeee284e76bdcd7bacbf9eeb70feee85ffd3e316f353ca6eca30e93aafad343
2022-08-10 14:25:43 -04:00