Commit Graph

32385 Commits

Author SHA1 Message Date
sh15h4nk
7c7dbe4398 improved getcoins.py 2022-02-13 22:59:31 +05:30
fanquake
e3699b71c4
Merge bitcoin/bitcoin#24155: doc: Fix rpc docs
fac8caaa62 doc: Fix rpc docs (MarcoFalke)

Pull request description:

  Broken in commit 39d9bbe4ac.

  The fix removes the "type" `OBJ_EMPTY` added in commit 8d1a3e6498, which isn't really a separate type and instead runs a check on `OBJ` whether it is empty or not.

ACKs for top commit:
  Sjors:
    tACK fac8caaa62

Tree-SHA512: dd978fe526a45095800249204afd26a239078e83b15124a5756ac078c473a677a3084b8f54e34d6dd5580abef7275c875a14bc9eb20d8feab066dfb0f0932967
2022-01-26 21:20:02 +08:00
MarcoFalke
2935bd9d67
Merge bitcoin/bitcoin#24113: test, bugfix: fix intermittent failure in getrawtransaction_tests
449dffc610 test, bugfix: fix intermittent failure in getrawtransaction_tests (Jon Atack)

Pull request description:

  Easiest to review with `colorMoved = dimmed-zebra` and `colorMovedWs = allow-indentation-change`.

  Resolves #23991

Top commit has no ACKs.

Tree-SHA512: a50c597857e45c52dae1b6fc5988ea077c09f2b32ffe3605f0c64bd780f5dd2635755cb26c4981233bf925c5ea9f7310163349a549239dc85657558f253ffb7b
2022-01-26 11:04:17 +01:00
MarcoFalke
dd405add6e
Merge bitcoin/bitcoin#24154: test: add functional test for -maxtipage parameter
75656adfd2 test: add functional test for `-maxtipage` parameter (Sebastian Falbesoner)

Pull request description:

  This PR adds a missing test for the `-maxtipage` parameter which controls what is the allowed maximum tip age for leaving IBD:
  792d0d8d51/src/init.cpp (L540)

  Relevant code path in the `CChainState::IsInitialBlockDownload` method:
  792d0d8d51/src/validation.cpp (L1479-L1480)

  The test is pretty simple and should be self-explanatory.

ACKs for top commit:
  MarcoFalke:
    review ACK 75656adfd2

Tree-SHA512: 0a10dca13cb18c29e64fc8412f4c8f2bcaff1bab8645bd85266c242ba88ce036a150c03cbbe9810c3bb44649810af0aa9cb3584dbae886a7bdb16b72150d08de
2022-01-26 07:36:07 +01:00
fanquake
01beb46f8d
Merge bitcoin/bitcoin#24153: test: remove unused sanitizer suppressions
fa3bdbd37b test: remove unused sanitizer suppressions (MarcoFalke)

Pull request description:

  Looks like those are not needed (anymore)

ACKs for top commit:
  fanquake:
    ACK fa3bdbd37b

Tree-SHA512: 4bedb6363aba8ea7763291ee0cd074e6bfd77e691bb32999c3959393864dc396bacba1eced2b10d9d600b66e8b83b91f7bc6692331dbd113bbaa87e72d11e2e8
2022-01-26 10:13:57 +08:00
Andrew Chow
e30b6ea194
Merge bitcoin/bitcoin#24067: wallet: Actually treat (un)confirmed txs as (un)confirmed
fac8165443 Remove unused checkFinalTx (MarcoFalke)
fa272eab44 wallet: Avoid dropping confirmed coins (MarcoFalke)
888841ea8d interfaces: Remove unused is_final (MarcoFalke)
dddd05e7a3 qt: Treat unconfirmed txs as unconfirmed (MarcoFalke)

Pull request description:

  The wallet has several issues:

  ## Unconfirmed txs in the GUI

  The GUI clumsily attempts to guess if unconfirmed txs are locked until a future time. This is currently based on the locktime only, not nSequence, thus wrong. Fix this by removing the clumsy code and treat all unconfirmed txs as unconfirmed. The GUI already prints whether a tx is in the mempool, in which case the user knows that the tx wasn't locked until a future time. If the tx is not in the mempool, it might be better to report the exact reject reason from the mempool instead of using incorrect heuristics.

  ## Confirmed txs in the wallet

  The wallet drops coins that it incorrectly assumes to be locked until a future time, even if they are already confirmed in the chain. This is because the wallet is using the wrong time (adjusted network time) instead of MTP, due to the `-1` default argument of `CheckFinalTx`.

  The issues are fixed in separate commits and there is even a test.

ACKs for top commit:
  achow101:
    ACK fac8165443
  prayank23:
    reACK fac8165443
  glozow:
    code review ACK fac8165443, I understand now how this fixes both issues.

Tree-SHA512: 210afb855f4c6d903fee49eba6b1a9735d699cf0168b669eabb38178e53b3a522258b7cc669f52489c6cd3e38bf358afde12eef3ba2e2f2ffaeb06b8f652ccd0
2022-01-25 16:17:51 -05:00
MarcoFalke
fac8caaa62
doc: Fix rpc docs
Broken in commit 39d9bbe4ac
2022-01-25 20:05:44 +01:00
MarcoFalke
39d9bbe4ac
Merge bitcoin/bitcoin#23706: rpc: getblockfrompeer followups
923312fbf6 rpc: use peer_id, block_hash for FetchBlock (Sjors Provoost)
34d5399211 rpc: more detailed errors for getblockfrompeer (Sjors Provoost)
60243cac72 rpc: turn already downloaded into error in getblockfrompeer (Sjors Provoost)
809d66bb65 rpc: clarify getblockfrompeer behavior when called multiple times (Sjors Provoost)
0e3d7c5ee1 refactor: drop redundant hash argument from FetchBlock (Sjors Provoost)
8d1a3e6498 rpc: allow empty JSON object result (Sjors Provoost)
bfbf91d0b2 test: fancier Python for getblockfrompeer (Sjors Provoost)

Pull request description:

  Followups from #20295.

ACKs for top commit:
  jonatack:
    ACK 923312fbf6 📦
  fjahr:
    tested ACK 923312fbf6

Tree-SHA512: da9eca76e302e249409c9d7f0d16cca668ed981e2ab6ca2d1743dad0d830b94b1bc5ffb9028a00764b863201945c273cc8f4409a4c9ca3817830007dffa2bc20
2022-01-25 18:48:41 +01:00
laanwj
b94d0c7af1
Merge bitcoin/bitcoin#23201: wallet: Allow users to specify input weights when funding a transaction
3866272c45 tests: Test specifying input weights (Andrew Chow)
6fa762a372 rpc, wallet: Allow users to specify input weights (Andrew Chow)
808068e90e wallet: Allow user specified input size to override (Andrew Chow)
4060c50d7e wallet: add input weights to CCoinControl (Andrew Chow)

Pull request description:

  When funding a transaction with external inputs, instead of providing solving data, a user may want to just provide the maximum signed size of that input. This is particularly useful in cases where the input is nonstandard as our dummy signer is unable to handle those inputs.

  The input weight can be provided to any input regardless of whether it belongs to the wallet and the provided weight will always be used regardless of any calculated input weight. This allows the user to override the calculated input weight which may overestimate in some circumstances due to missing information (e.g. if the private key is not known, a maximum size signature will be used, but the actual signer may be doing additional work which reduces the size of the signature).

  For `send` and `walletcreatefundedpsbt`, the input weight is specified in a `weight` field in an input object. For `fundrawtransaction`,  a new `input_weights` field is added to the `options` object. This is an array of objects consisting of a txid, vout, and weight.

  Closes #23187

ACKs for top commit:
  instagibbs:
    reACK 3866272c45
  glozow:
    reACK 3866272 via range-diff
  t-bast:
    ACK 3866272c45

Tree-SHA512: 2c8b471ee537c62a51389b7c4e86b5ac1c3a223b444195042be8117b3c83e29c0619463610b950cbbd1648d3ed01ecc5bb0b3c4f39640680da9157763b9b9f9f
2022-01-25 17:51:05 +01:00
Sebastian Falbesoner
75656adfd2 test: add functional test for -maxtipage parameter 2022-01-25 16:20:00 +01:00
MarcoFalke
fa3bdbd37b
test: remove unused sanitizer suppressions 2022-01-25 16:15:53 +01:00
laanwj
792d0d8d51
Merge bitcoin/bitcoin#23839: Linux: build with and test for control flow instrumentation on x86_64
5a8f907c93 scripts: add CONTROL_FLOW to ELF security checks (fanquake)
e13f8f775d build: build x86_64 Linux Boost with -fcf-protection=full (fanquake)
6ca5efa8ed script rename control flow check to MACHO specific (fanquake)

Pull request description:

  Closes #21888.

  TODO:
  * Duplication in security-check-tests

  Guix build:
  ```bash
  bash-5.1# find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
  8025e2e6859247eaf865a4a5009d0a39570ec5e8ab51739fa4da0d8ee4ab2117  guix-build-5a8f907c93f1/output/aarch64-linux-gnu/SHA256SUMS.part
  75576482994493262dbf7d3567b0450c0804bdc75c186d6b4c6a856bd0d8f0a3  guix-build-5a8f907c93f1/output/aarch64-linux-gnu/bitcoin-5a8f907c93f1-aarch64-linux-gnu-debug.tar.gz
  7cb89c9327cc540859334b597c041a2250156e3e83ce2aa7d16177376056302f  guix-build-5a8f907c93f1/output/aarch64-linux-gnu/bitcoin-5a8f907c93f1-aarch64-linux-gnu.tar.gz
  e264053e4c7a5d65340dd7bbd2c664bcd596292ab80f00a0bf0026bfe0c480bc  guix-build-5a8f907c93f1/output/arm-linux-gnueabihf/SHA256SUMS.part
  6c3ee9b3c0c4583620301b183226678f1618605dd07dbed0bbdf7d06d3591314  guix-build-5a8f907c93f1/output/arm-linux-gnueabihf/bitcoin-5a8f907c93f1-arm-linux-gnueabihf-debug.tar.gz
  f217cb8d8e233a8dbdbfde7dabf12c5d867d7de53e8c652b8ed1d4a55da82fd9  guix-build-5a8f907c93f1/output/arm-linux-gnueabihf/bitcoin-5a8f907c93f1-arm-linux-gnueabihf.tar.gz
  48b4b2a1b52b3098f4e92c11cb60f1e5e9696a2a960560cd6adea72277eaa4a4  guix-build-5a8f907c93f1/output/dist-archive/bitcoin-5a8f907c93f1.tar.gz
  40832db2446e129879caa9fbc9d682c53069876dbb2e0d4d76592e5dcb40bb12  guix-build-5a8f907c93f1/output/powerpc64-linux-gnu/SHA256SUMS.part
  26fdfa9b7b77d5db415ef34054cf6f6d020a5dab73239db6dd05539f654bc5d5  guix-build-5a8f907c93f1/output/powerpc64-linux-gnu/bitcoin-5a8f907c93f1-powerpc64-linux-gnu-debug.tar.gz
  3adbdb9d3eb1cb5f9adc38b29450054f286bd6d74cef8619adaee89494853605  guix-build-5a8f907c93f1/output/powerpc64-linux-gnu/bitcoin-5a8f907c93f1-powerpc64-linux-gnu.tar.gz
  8ec2baf82483a698350bfdabf530cd9b5241690c916f597c746210e95ac451de  guix-build-5a8f907c93f1/output/powerpc64le-linux-gnu/SHA256SUMS.part
  1797e75e1f66ec9068fa4e57e0108960475e863f8f054fbe854358b1f995c4df  guix-build-5a8f907c93f1/output/powerpc64le-linux-gnu/bitcoin-5a8f907c93f1-powerpc64le-linux-gnu-debug.tar.gz
  448bd289ef26c777a1fc4498e7ba7fb17d0f6a932dcac91b2f89cbba63704bb8  guix-build-5a8f907c93f1/output/powerpc64le-linux-gnu/bitcoin-5a8f907c93f1-powerpc64le-linux-gnu.tar.gz
  a23ee91eeae515c2a6a31eb25d659fab833839aaafa4676ccee364bdad2a468c  guix-build-5a8f907c93f1/output/riscv64-linux-gnu/SHA256SUMS.part
  82df1b6d5020d0af8268ecc8e823f752f20dec308277763b2dd675804dfa4bbd  guix-build-5a8f907c93f1/output/riscv64-linux-gnu/bitcoin-5a8f907c93f1-riscv64-linux-gnu-debug.tar.gz
  09a6098ce83896a6ee6d5c8aff12eaca51595bd724c8e0b2a6f90b6410dc168c  guix-build-5a8f907c93f1/output/riscv64-linux-gnu/bitcoin-5a8f907c93f1-riscv64-linux-gnu.tar.gz
  4fac2951f80eaa2bd1747a263be6be1b76282cac5062f7d86db631a2fb80f8db  guix-build-5a8f907c93f1/output/x86_64-apple-darwin/SHA256SUMS.part
  3392f417b09efca5916c384f0b2d0c177a72ec4921399c62e84484f0054cc8c4  guix-build-5a8f907c93f1/output/x86_64-apple-darwin/bitcoin-5a8f907c93f1-osx-unsigned.dmg
  bfb4f8ade6107996ec4bc9efdb53959151b8fb19b6790c34472fe218dd02383d  guix-build-5a8f907c93f1/output/x86_64-apple-darwin/bitcoin-5a8f907c93f1-osx-unsigned.tar.gz
  4de92e149bad46fc863efb3b650753d194aad96be991d020e0b859452cf27457  guix-build-5a8f907c93f1/output/x86_64-apple-darwin/bitcoin-5a8f907c93f1-osx64.tar.gz
  9329549a2f275a59e329afc8744ff8cbc297f3042e0ad03b47626805c7aae2e8  guix-build-5a8f907c93f1/output/x86_64-linux-gnu/SHA256SUMS.part
  d87deb1eca8a1d3780f02edde78350d27f700e13c7ff444be0bfb34e7369904a  guix-build-5a8f907c93f1/output/x86_64-linux-gnu/bitcoin-5a8f907c93f1-x86_64-linux-gnu-debug.tar.gz
  76f3bc2fad010d9373e854d941e8205b68fa6c9a8ecaff34c4978ae3ae76c806  guix-build-5a8f907c93f1/output/x86_64-linux-gnu/bitcoin-5a8f907c93f1-x86_64-linux-gnu.tar.gz
  2948631081c4bd475529da2b7bc2b32b5aa2e44de46dfdaa6cf9432b3c9fe869  guix-build-5a8f907c93f1/output/x86_64-w64-mingw32/SHA256SUMS.part
  c5d56fac163b73c00e9745aa7b0f9a0bd9fcac7517e39b677869b6e76faf7218  guix-build-5a8f907c93f1/output/x86_64-w64-mingw32/bitcoin-5a8f907c93f1-win-unsigned.tar.gz
  f12c7cd72511544c67f4934981c090cee0d9c17e931c059edbbbef6e843dd651  guix-build-5a8f907c93f1/output/x86_64-w64-mingw32/bitcoin-5a8f907c93f1-win64-debug.zip
  eb952cc4554f92ba6787353f4305d7cbcb1c6dafc4a3867b3088106252a573b8  guix-build-5a8f907c93f1/output/x86_64-w64-mingw32/bitcoin-5a8f907c93f1-win64-setup-unsigned.exe
  7bd2b071f1cdf9410535e6a10dd1da519f942bd2c1e47ed52c5b8c4f977e8f27  guix-build-5a8f907c93f1/output/x86_64-w64-mingw32/bitcoin-5a8f907c93f1-win64.zip
  ```

ACKs for top commit:
  laanwj:
    Code review ACK 5a8f907c93
  hebasto:
    ACK 5a8f907c93, I have reviewed the code and it looks OK, I agree it can be merged.

Tree-SHA512: 75702ac01175ccf08e73b5c3bce266cee9dd15ccf8fb38d46108cfada156de9a8c18e27d996f9343ae33f7a75a6904d335cbe25256d90af1f4ccbe72ce1788bb
2022-01-25 16:01:21 +01:00
MarcoFalke
fac8165443
Remove unused checkFinalTx 2022-01-25 10:16:06 +01:00
MarcoFalke
fa272eab44 wallet: Avoid dropping confirmed coins 2022-01-25 10:15:12 +01:00
MarcoFalke
bd482b3ffe
Merge bitcoin/bitcoin#24105: Optimize CHECKSIGADD Script Validation
cfa575266b Optimize CHECKSIGADD Script Validation (Jeremy Rubin)

Pull request description:

  This is a mild validation improvement that improves performance by caching some signature data when you have a Taproot script fragment that uses CHECKSIGADD Multisignatures with sighash single. In some basic testing I showed this to have about a 0.6% speedup during block validation for a block with a lot of CHECKSIGADDs, but that was with the entirety of block validation so the specific impact on the script interpreter performance should be a bit more once you subtract things like coin fetching. If desired I can produce a more specific/sharable bench for this, the code I used to test was just monkey patching the existing taproot tests since generating valid spends is kinda tricky. But it's sort of an obvious win so I'm not sure it needs a rigorous bench, but I will tinker on one of those while the code is being reviewed for correctness.

  The overhead of this approach is that:

  1. ScriptExecutionData is no longer const
  2. around 32 bytes of extra stack space
  3. zero extra hashing since we only cache on first use

ACKs for top commit:
  sipa:
    utACK cfa575266b
  MarcoFalke:
    review ACK cfa575266b
  jonatack:
    ACK cfa575266b
  theStack:
    Code-review ACK cfa575266b

Tree-SHA512: d5938773724bb9c97b6fd623ef7efdf7f522af52dc0903ecb88c38a518b628d7915b7eae6a774f7be653dc6bcd92e9abc4dd5e8b11f3a995e01e0102d2113d09
2022-01-25 09:14:48 +01:00
fanquake
69ef0a107f
Merge bitcoin/bitcoin#24130: doc: Update the used Qt version
d67fc786d9 doc: Update the used Qt version (Hennadii Stepanov)

Pull request description:

  Missed in bitcoin/bitcoin#23489.

ACKs for top commit:
  w0xlt:
    ACK d67fc78
  shaavan:
    ACK d67fc786d9
  prusnak:
    ACK d67fc78
  promag:
    ACK d67fc786d9.

Tree-SHA512: f15d83dca1c7dcdb9bd862358cd0e9a2740d88b8eaa0de8223210c9ce89e7526c6f98908bf26d512ff9271d6d59fda1d0c7ac97fcd7ef4b8b0c06d24b9d62f33
2022-01-25 11:41:06 +08:00
fanquake
0147278e37
Merge bitcoin/bitcoin#21464: Mempool Update Cut-Through Optimization
c5b36b1c1b Mempool Update Cut-Through Optimization (Jeremy Rubin)
c49daf9885 [TESTS] Increase limitancestorcount in tournament RPC test to showcase improved algorithm (Jeremy Rubin)

Pull request description:

  Often when we're updating mempool entries we update entries that we ultimately end up removing the updated entries shortly thereafter. This patch makes it so that we filter for such entries a bit earlier in processing, which yields a mild improvement for these cases, and is negligible overhead otherwise.

  There's potential for a better -- but more sophisticated -- algorithm that can be used taking advantage of epochs, but I figured it is better to do something that is simple and works first and upgrade it later as the other epoch mempool work proceeds as it makes the patches for the epoch algorithm simpler to understand, so you can consider this as preparatory work. It could either go in now if it is not controversial, or we could wait until the other patch is ready to go.

ACKs for top commit:
  instagibbs:
    reACK c5b36b1
  sipa:
    utACK c5b36b1c1b
  mzumsande:
    Code Review ACK c5b36b1c1b

Tree-SHA512: 78b16864f77a637d8a68a65e23c019a9757d8b2243486728ef601d212ae482f6084cf8e69d810958c356f1803178046e4697207ba40d6d10529ca57de647fae6
2022-01-25 11:20:18 +08:00
fanquake
417e7503f8
Merge bitcoin/bitcoin#23804: validation: followups for de-duplication of packages
3cd7f693d3 [unit test] package parents are a mix (glozow)
de075a98ea [validation] better handle errors in SubmitPackage (glozow)
9d88853e0c AcceptPackage fixups (glozow)
2db77cd3b8 [unit test] different witness in package submission (glozow)
9ad211c575 [doc] more detailed explanation for deduplication (glozow)
83d4fb7126 [packages] return DIFFERENT_WITNESS for same-txid-different-witness tx (glozow)

Pull request description:

  This addresses some comments from review on e12fafda2d from #22674.

  - Improve documentation about de-duplication: [comment](https://github.com/bitcoin/bitcoin/pull/22674/files#r770156708)
  - Fix code looking up same-txid-different-witness transaction in mempool: [comment](https://github.com/bitcoin/bitcoin/pull/22674/files#r770804029)
  - Improve the interface for when a same-txid-different-witness transaction is swapped: [comment](https://github.com/bitcoin/bitcoin/pull/22674/files#r770782822)
  - Add a test for witness swapping: [comment](https://github.com/bitcoin/bitcoin/pull/22674/files#r770804029)
  - Add a test for packages with a mix of duplicate/different witness/new parents: [comment](https://github.com/bitcoin/bitcoin/pull/22674#discussion_r773037608)
  - Fix issue with not notifying `CValidationInterface` when there's a partial submission due to fail-fast: [comment](https://github.com/bitcoin/bitcoin/pull/22674#discussion_r773013162)

ACKs for top commit:
  achow101:
    ACK 3cd7f693d3
  t-bast:
    LGTM, ACK 3cd7f693d3
  instagibbs:
    ACK 3cd7f693d3
  ariard:
    ACK 3cd7f69

Tree-SHA512: a5d86ca86edab80a5a05fcbb828901c058b3f2fa2552912ea52f2871e29c3cf4cc34020e7aac2217959c9c3a01856f4bd3d631d844635b98144f212f76c2f3ef
2022-01-25 10:44:51 +08:00
MarcoFalke
9ec3991ad3
Merge bitcoin/bitcoin#24057: guix: point to recent commit on the master branch
8588591965 guix: ignore additioanl failing certvalidator test (fanquake)
e8a6c888e4 build: point to latest commit on the master branch (fanquake)

Pull request description:

  Guix recently force pushed to their `version-1.4.0` branch, causing #24040. At the time #24042 pointed to the newest commit on that branch, fixing #24040, but it didn't actually build. Guix have now [temporarily removed](https://lists.gnu.org/archive/html/guix-devel/2022-01/msg00313.html) their `version-1.4.0` branch, while they incorporate additional fixes.

  This PR updates our guix time-machine to point to a recent commit on the guix master branch, so that builds can resume for all hosts apart from Windows. Windows builds are broken due to what looks like an upstream issue, which  results in e failure to build the [`mingw-w64-x86_64-winpthreads package`](https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/mingw.scm#n137). The build fails with:
  ```bash
  /gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/bash ./libtool  --tag=CC   --mode=link x86_64-w64-mingw32-gcc -Wall -DWIN32_LEAN_AND_MEAN -g -O2 -no-undefined -version-info 1:0:0 -L./fakelib -Wc,-no-pthread  -o libwinpthread.la -rpath /gnu/store/2bglap5gk4db8lajaahg4d7361myw5qw-mingw-w64-x86_64-winpthreads-8.0.0/lib src/libwinpthread_la-barrier.lo src/libwinpthread_la-cond.lo src/libwinpthread_la-misc.lo src/libwinpthread_la-mutex.lo src/libwinpthread_la-rwlock.lo src/libwinpthread_la-spinlock.lo src/libwinpthread_la-thread.lo src/libwinpthread_la-ref.lo src/libwinpthread_la-sem.lo src/libwinpthread_la-sched.lo src/libwinpthread_la-clock.lo src/libwinpthread_la-nanosleep.lo src/version.lo
  libtool: link: x86_64-w64-mingw32-gcc -shared  src/.libs/libwinpthread_la-barrier.o src/.libs/libwinpthread_la-cond.o src/.libs/libwinpthread_la-misc.o src/.libs/libwinpthread_la-mutex.o src/.libs/libwinpthread_la-rwlock.o src/.libs/libwinpthread_la-spinlock.o src/.libs/libwinpthread_la-thread.o src/.libs/libwinpthread_la-ref.o src/.libs/libwinpthread_la-sem.o src/.libs/libwinpthread_la-sched.o src/.libs/libwinpthread_la-clock.o src/.libs/libwinpthread_la-nanosleep.o src/.libs/version.o   -L./fakelib  -g -O2 -no-pthread   -o .libs/libwinpthread-1.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libwinpthread.dll.a
  x86_64-w64-mingw32-ld: final link failed: bad value
  collect2: error: ld returned 1 exit status
  ```

  This info will be sent upstream. You can likely recreate the failure with `guix build mingw-w64-x86_64-winpthreads`.

  Once Guix is at a point of tagging a 1.4.0 release commit (after re-branching and RCs), we can shift our time-machine to point to it. If a change is made upstream in relation to the Windows issue we are seeing, we will adjust our time-machine commit earlier.

  Guix builds:
  ```bash
  bash-5.1# find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
  9bbaba7be551f871d940346dd8896908968e5403cdbaa9a990b98a5ef5d8a2c8  guix-build-85885919656a/output/aarch64-linux-gnu/SHA256SUMS.part
  4da3c6589afb383e689c1569d9d0379dba3e6e18039f331c91da180b937b6b68  guix-build-85885919656a/output/aarch64-linux-gnu/bitcoin-85885919656a-aarch64-linux-gnu-debug.tar.gz
  089c83b739149ea22809a6594aaec5b1df648d770e1086f17ab901e998b54dfd  guix-build-85885919656a/output/aarch64-linux-gnu/bitcoin-85885919656a-aarch64-linux-gnu.tar.gz
  71db39d3e84f50a4146300271077bf9687ede8a15ee450d1b62270f362c6fa98  guix-build-85885919656a/output/arm-linux-gnueabihf/SHA256SUMS.part
  6b6528e6077f403a53a12199a5dc98d5ea829380295aa768232d619417615465  guix-build-85885919656a/output/arm-linux-gnueabihf/bitcoin-85885919656a-arm-linux-gnueabihf-debug.tar.gz
  4ce4d0c28d09bfd46492cd14f8d0a93c58ca827c2e5dcb7aadf74147b8aff7ea  guix-build-85885919656a/output/arm-linux-gnueabihf/bitcoin-85885919656a-arm-linux-gnueabihf.tar.gz
  971b85090756ec9557792bfc7f47a013434d30ef41a19b6284c6efc425ce36bf  guix-build-85885919656a/output/dist-archive/bitcoin-85885919656a.tar.gz
  64b9757d597f4665dc7b71f6ff3e52671ca2783a8834ef212dd795ff98350919  guix-build-85885919656a/output/powerpc64-linux-gnu/SHA256SUMS.part
  5009332c4b7a23263a99e5f39a635d1193c7300672916abd6528112ba56c71c5  guix-build-85885919656a/output/powerpc64-linux-gnu/bitcoin-85885919656a-powerpc64-linux-gnu-debug.tar.gz
  84f0e74abe3cf499480c16b371522c6ab958e5c234514c720e7b8915be4dc62d  guix-build-85885919656a/output/powerpc64-linux-gnu/bitcoin-85885919656a-powerpc64-linux-gnu.tar.gz
  f73d0fe614caaa617aa2e65f59ccf689ddd2c484878ebd0649dd2e14b31b0329  guix-build-85885919656a/output/powerpc64le-linux-gnu/SHA256SUMS.part
  0985d12c3aa1b7625a7369a4d4a8c7f92e1eaf4276c4457610f90d3c057a843e  guix-build-85885919656a/output/powerpc64le-linux-gnu/bitcoin-85885919656a-powerpc64le-linux-gnu-debug.tar.gz
  e35a34bc9bf9bc8b9e760b7b9da897ed9bf669dc2a36cd3d5395dbb25683d057  guix-build-85885919656a/output/powerpc64le-linux-gnu/bitcoin-85885919656a-powerpc64le-linux-gnu.tar.gz
  c1800ea2353feb984f05ea6f6faa6421b5f3764a036d335fbb18c6d313176e8b  guix-build-85885919656a/output/riscv64-linux-gnu/SHA256SUMS.part
  17012337bfc124970dcb26fe0bef0eb0ec57eabaafdd0533828732e407199941  guix-build-85885919656a/output/riscv64-linux-gnu/bitcoin-85885919656a-riscv64-linux-gnu-debug.tar.gz
  c9528178e2266ef7d2f49b6b6f65233c58c8f71d196d9347421f988ba4b662bd  guix-build-85885919656a/output/riscv64-linux-gnu/bitcoin-85885919656a-riscv64-linux-gnu.tar.gz
  2e6c4fc18b866648e35ebece7c7c8f625833c4f37c1aae8b7d0bc0d5caca6f69  guix-build-85885919656a/output/x86_64-apple-darwin/SHA256SUMS.part
  dcee189ad0b8dad71df9053db9c0e2f308c1742cb1638d60d515dafcf4cca8be  guix-build-85885919656a/output/x86_64-apple-darwin/bitcoin-85885919656a-osx-unsigned.dmg
  d9366875d36c1993831548ca94de859cbdecca26b77877012456b63bf144558e  guix-build-85885919656a/output/x86_64-apple-darwin/bitcoin-85885919656a-osx-unsigned.tar.gz
  6ddd041d2b359f1be5272e79d80deb7ed233289394cbc3436b4cc43853c9690f  guix-build-85885919656a/output/x86_64-apple-darwin/bitcoin-85885919656a-osx64.tar.gz
  ef8ce6b349d886f23341dd034463b18d0c5298cf6b2d95632ae24ca98b1b51c8  guix-build-85885919656a/output/x86_64-linux-gnu/SHA256SUMS.part
  ce5c2d681617ab1f2f20487ab0b73c48a436a3d313e7441d594a68f28a39a5d3  guix-build-85885919656a/output/x86_64-linux-gnu/bitcoin-85885919656a-x86_64-linux-gnu-debug.tar.gz
  b364641aff6a1cde8b1bd950a50c74e9c49a09669d5597365de4da250b41aea6  guix-build-85885919656a/output/x86_64-linux-gnu/bitcoin-85885919656a-x86_64-linux-gnu.tar.gz
  ```

ACKs for top commit:
  hebasto:
    ACK 8588591965
  dunxen:
    ACK 8588591

Tree-SHA512: ee75c630366200e2a93a3a82fb5f689c6f69e3a39a00e8bf61609a9f21283b6511e9e2ceb44c52550f8f231b38f5966d2ef2669ada5588272cc424cbd25a1ed2
2022-01-24 17:34:28 +01:00
Andrew Chow
3866272c45 tests: Test specifying input weights
Added tests to rpc_fundrawtransaction, wallet_send, and rpc_psbt that
test that external inputs can be spent when input weight is provided.
Also tested that the input weight overrides any calculated weight.

Additionally, rpc_psbt's external inputs test is cleaned up a bit to be
more similar to rpc_fundrawtransaction's and avoid potential pitfalls
due to non-deterministic coin selection behavior.
2022-01-24 11:29:38 -05:00
Andrew Chow
6fa762a372 rpc, wallet: Allow users to specify input weights
Coin selection requires knowing the weight of a transaction so that fees
can be estimated. However for external inputs, the weight may not be
avialble, and solving data may not be enough as the input could be one
that we do not support. By allowing users to specify input weights,
those external inputs can be included in the transaction.

Additionally, if the weight for an input is specified, that value will
always be used, regardless of whether the input is in the wallet or
solving data is available. This allows us to account for scenarios where
the wallet may be more conservative and estimate a larger input than may
actually be created.

For example, we assume the maximum DER signature size, but an external
input may be signed by a wallet which does nonce grinding in order to get
a smaller signature. In that case, the user can specify the smaller
input weight to avoid overpaying transaction fees.
2022-01-24 11:29:38 -05:00
Andrew Chow
808068e90e wallet: Allow user specified input size to override
If the user specifies an input size, allow it to override any input size
calculations during coin selection.
2022-01-24 11:23:31 -05:00
Andrew Chow
4060c50d7e wallet: add input weights to CCoinControl
In order to allow coin selection to take weights from the user,
CCoinControl needs to be able to set and get them.
2022-01-24 11:23:31 -05:00
MarcoFalke
e3de7cb903
Merge bitcoin/bitcoin#24102: mempool: Run coin.IsSpent only once in a row
fa2bcc4e42 Run coin.IsSpent only once in a row (MarcoFalke)

Pull request description:

  Follow-up to commit 64e4963c63 and https://github.com/bitcoin/bitcoin/pull/23976#discussion_r787758193

ACKs for top commit:
  glozow:
    utACK fa2bcc4e42, agree the assertion is sufficient
  theStack:
    Code-review ACK fa2bcc4e42
  w0xlt:
    crACK fa2bcc4e42
  shaavan:
    Code Review ACK fa2bcc4e42
  brunoerg:
    crACK fa2bcc4e42

Tree-SHA512: 3be9d6b313bf6bb835f031826c81777b4659118d839001d084e72462391cb64ba81d06a5e07fd21fcfb709a71b08892b23212a98604ce8481da489476b72f072
2022-01-24 12:43:23 +01:00
MarcoFalke
b32f0d3af1
Merge bitcoin/bitcoin#24108: Replace RecursiveMutex cs_addrLocal with Mutex, and rename it
dec787d8ac refactor: replace RecursiveMutex `m_addr_local_mutex` with Mutex (w0xlt)
93609c1dfa p2p: add assertions and negative TS annotations for m_addr_local_mutex (w0xlt)
c4a31ca267 scripted-diff: rename cs_addrLocal -> m_addr_local_mutex (w0xlt)

Pull request description:

  This PR is related to #19303 and gets rid of the `RecursiveMutex cs_addrLocal`.

ACKs for top commit:
  hebasto:
    ACK dec787d8ac, I have reviewed the code and it looks OK, I agree it can be merged.
  shaavan:
    reACK dec787d8ac

Tree-SHA512: b7a043bfd4e2ccbe313bff21ad815169db6ad215ca96daf358ce960c496a548b4a9e90be9e4357430ca59652b96df87c097450118996c6d4703cbaabde2072d0
2022-01-24 12:40:15 +01:00
MarcoFalke
b3122e167a
Merge bitcoin/bitcoin#23543: test: Prevent non-compatible sed binary for scripted-diffs
d8dfc403f7 script: redirecting stderr to stdout before pipelining into grep (anouar kappitou)
30df5c3dd4 script: preventing non-compatible sed binary. (anouar kappitou)

Pull request description:

  This Pull request improve scripted diff by checking for non-compatible sed binary. Fixes #19815

ACKs for top commit:
  shaavan:
    reACK d8dfc403f7
  theStack:
    Tested ACK d8dfc403f7

Tree-SHA512: 4813abb02195e04b8953662e51cba4599789e6185a6d384f56255e2d37c2b16be46c7c8861e44ba1a13d42573a58eb708901472925cb308dba2f602020e9f0f6
2022-01-24 12:22:07 +01:00
MarcoFalke
973c390298
Merge bitcoin/bitcoin#24078: net, refactor: Rename CNetMessage::m_command with CNetMessage::m_type
224d87855e net, refactor: Drop tautological local variables (Hennadii Stepanov)
3073a9917b scripted-diff: Rename CNetMessage::m_command with CNetMessage::m_type (Hennadii Stepanov)

Pull request description:

  https://github.com/bitcoin/bitcoin/pull/18533#issue-594592488:
  > a message is not a command, but simply a message of some type

  Continuation of bitcoin/bitcoin#18533 and bitcoin/bitcoin#18937.

ACKs for top commit:
  theStack:
    Concept and code-review ACK 224d87855e
  shaavan:
    Code Review ACK 224d87855e
  w0xlt:
    crACK 224d878

Tree-SHA512: 898cafb44708dae1413fcc1533d809d75878891354f1b5edaaec1287f4921c31adc9330f4d42d82544a39689886bc17fee71ea587f9199fd5cc849d376f82176
2022-01-24 08:49:17 +01:00
Hennadii Stepanov
d67fc786d9
doc: Update the used Qt version
A bitcoin/bitcoin#23489 follow up.
2022-01-23 15:14:22 +02:00
fanquake
6d859cbd79
Merge bitcoin/bitcoin#24021: Rename and move PoissonNextSend functions
9b8dcb25b5 [net processing] Rename PoissonNextSendInbound to NextInvToInbounds (John Newbery)
ea99f5d01e [net processing] Move PoissonNextSendInbound to PeerManager (John Newbery)
bb060746df scripted-diff: replace PoissonNextSend with GetExponentialRand (John Newbery)
03cfa1b603 [refactor] Use uint64_t and std namespace in PoissonNextSend (John Newbery)
9e64d69bf7 [move] Move PoissonNextSend to src/random and update comment (John Newbery)

Pull request description:

  `PoissonNextSend` and `PoissonNextSendInbound` are used in the p2p code to obfuscate various regularly occurring processes, in order to make it harder for others to get timing-based information deterministically.

  The naming of these functions has been confusing to several people (including myself, see also #23347) because the resulting random timestamps don't follow a Poisson distribution but an exponential distribution (related to events in a Poisson process, hence the name). This PR
  - moves `PoissonNextSend()` out of `net` to `random` and renames it to `GetExponentialRand()`
  - moves `PoissonNextSendInbound()` out of `CConnman` to `PeerManager` and renames it to `NextInvToInbounds()`
  - adds documentation for these functions

  This is work by jnewbery - due to him being less active currently, I opened the PR and will address feedback.

ACKs for top commit:
  jnewbery:
    ACK 9b8dcb25b5
  hebasto:
    ACK 9b8dcb25b5, I have reviewed the code and it looks OK, I agree it can be merged.
  theStack:
    ACK 9b8dcb25b5 📊

Tree-SHA512: 85c366c994e7147f9981fe863fb9838502643fa61ffd32d55a43feef96a38b79a5daa2c4d38ce01074897cc95fa40c76779816edad53f5265b81b05c3a1f4f50
2022-01-23 11:44:02 +08:00
anouar kappitou
d8dfc403f7
script: redirecting stderr to stdout before pipelining into grep
Co-authored-by: Sebastian Falbesoner <sebastian.falbesoner@gmail.com>
2022-01-22 12:36:19 +01:00
w0xlt
dec787d8ac refactor: replace RecursiveMutex m_addr_local_mutex with Mutex 2022-01-20 17:34:48 -03:00
w0xlt
93609c1dfa p2p: add assertions and negative TS annotations for m_addr_local_mutex 2022-01-20 17:34:48 -03:00
Jon Atack
449dffc610
test, bugfix: fix intermittent failure in getrawtransaction_tests 2022-01-20 21:15:04 +01:00
Andrew Chow
e3ce019667
Merge bitcoin/bitcoin#23171: qa: test descriptors with mixed xpubs and const pubkeys
36012ef143 qa: test descriptors with mixed xpubs and const pubkeys (Antoine Poinsot)

Pull request description:

  Writing unit tests for Miniscript descriptors i noticed that `test/descriptor_tests`'s `DoCheck()` assumes that a descriptor would either contain only extended keys or only const pubkeys: if it detects an xpub in the descriptor it would assert the number of cached keys is equal to the number of keys in the descriptor, which does not hold if the descriptor also contains const (raw?) public keys since we only cache parent xpubs.

ACKs for top commit:
  achow101:
    ACK 36012ef143

Tree-SHA512: 2ede67a6dff726bcad3e260f3deb25c9b77542ed1880eb4ad136730b741014ce950396c69c7027225de1ef27108d609bafd055188b88538ace0beb13c7e34b0b
2022-01-20 12:43:10 -05:00
MarcoFalke
b60c477d54
Merge bitcoin/bitcoin#23629: refactor tests to fix ubsan suppressions
faedb111d2 refactor tests to fix ubsan suppressions (MarcoFalke)

Pull request description:

  The ubsan suppressions for test files have several issues:

  * They bloat the suppressions file, distracting from real bugs
  * They are file-wide, thus suppressing any other (newly introduced) issues in the same file
  * Some of them are causing compile issues with -Wimplicit-int-conversion

  Fix all issues by making the integer truncations or sign changes explicit.

  This is a refactor that shouldn't change the test binary unless compiled with sanitizers.

ACKs for top commit:
  jonatack:
    ACK faedb111d2 per `git range-diff 1824644a fa9bab0 faedb11` and clang 13 debug build sanity check

Tree-SHA512: a1a6aaf2cf52562a49220375deb10062b388c1ccb7ddcd9ef2a8e6b9873961c5b285704799589b7dd5579f3db8692ba72a9d622172b4e4d2423534cd550e8859
2022-01-20 18:10:56 +01:00
MarcoFalke
faedb111d2
refactor tests to fix ubsan suppressions 2022-01-20 15:25:23 +01:00
MarcoFalke
1824644a36
Merge bitcoin/bitcoin#24099: Replace RecursiveMutex cs_mapLocalHost with Mutex, and rename it
5e7e4c9f6e refactor: replace RecursiveMutex g_maplocalhost_mutex with Mutex (w0xlt)
a7da1409bc scripted-diff: rename cs_mapLocalHost -> g_maplocalhost_mutex (w0xlt)

Pull request description:

  This PR is related to #19303 and gets rid of the `RecursiveMutex cs_mapLocalHost`.

ACKs for top commit:
  shaavan:
    ACK 5e7e4c9f6e
  theStack:
    ACK 5e7e4c9f6e
  hebasto:
    ACK 5e7e4c9f6e, I have reviewed the code and it looks OK, I agree it can be merged.

Tree-SHA512: 961171e346fe385e16db9830115a8096f4ca2499bbea11a08c02ca808638dfb63c434ab9d66392c71e85be6352c8a2b6a0054b5a61aaabd28d71581fed5beae7
2022-01-20 14:58:03 +01:00
w0xlt
c4a31ca267 scripted-diff: rename cs_addrLocal -> m_addr_local_mutex
-BEGIN VERIFY SCRIPT-
sed -i 's/cs_addrLocal/m_addr_local_mutex/g' -- $(git grep --files-with-matches 'cs_addrLocal')
-END VERIFY SCRIPT-
2022-01-20 05:43:10 -03:00
fanquake
8588591965
guix: ignore additioanl failing certvalidator test
======================================================================
ERROR: test_revocation_mode_soft (tests.test_validate.ValidateTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/guix-build-python-certvalidator-0.1-1.e5bdb4b.drv-0/source/tests/test_validate.py", line 85, in test_revocation_mode_soft
    validate_path(context, path)
  File "/tmp/guix-build-python-certvalidator-0.1-1.e5bdb4b.drv-0/source/tests/../certvalidator/validate.py", line 50, in validate_path
    return _validate_path(validation_context, path)
  File "/tmp/guix-build-python-certvalidator-0.1-1.e5bdb4b.drv-0/source/tests/../certvalidator/validate.py", line 358, in _validate_path
    raise PathValidationError(pretty_message(
certvalidator.errors.PathValidationError: The path could not be validated because the end-entity certificate expired 2022-01-14 12:00:00Z
2022-01-20 14:50:17 +08:00
fanquake
e8a6c888e4
build: point to latest commit on the master branch
The version-1.4.0 branch no-longer exists, and will be branched off
master again shortly.
2022-01-20 13:20:04 +08:00
fanquake
63fc2f5cce
Merge bitcoin/bitcoin#24065: build: explicitly disable support for external signing on Windows
e2ab9f83f8 build: disable external signer on Windows (fanquake)

Pull request description:

  This change explicitly disables support for external signing when targeting Windows and OpenBSD. The driver for this is that Boost Process uses boost::filesystem internally, when targeting Windows, which gets in the way of removing our usage of it (#20744). While we could adjust #20744 to still link against the Boost libs when building for Windows, that would be disappointing, as we wouldn't have cleanly removed the Boost usage we're trying too (including the build infrastructure), and, we'd be in a position where we would be building releases differently depending on the platform, which is something I want to avoid.

  After discussion with Sjors, Achow and Hebasto, this seemed like a reasonable step to move #20744 forward (as-is). Note that support for external signing ([while already being experimental](https://github.com/bitcoin/bitcoin/blob/master/doc/external-signer.md#example-usage)), could be considered even more experimental on Windows. Also, oddly, we have external-signing [explicitly disabled in our Windows (cross-compile) CI](807169e10b/ci/test/00_setup_env_win64.sh (L16)), it's not clear why this is the case, as, if it's a feature being built into releases, it should be being built and tested in the CI which is most-like the release process.

  There is an [issue open upstream](https://github.com/boostorg/process/issues/207), in regards to migrating Boost Process to std::filesystem, or having an option to use it. However there hasn't been much discussion since it was opened ~9 months ago. There is another related issue here: https://github.com/klemens-morgenstern/boost-process/issues/164.

  Resolves #24036.

ACKs for top commit:
  Sjors:
    utACK e2ab9f8
  achow101:
    ACK e2ab9f83f8
  kallewoof:
    utACK e2ab9f83f8
  hebasto:
    ACK e2ab9f83f8, tested on Linux Mint 20.2 (x86_64).

Tree-SHA512: 36fcfc0e1a008a8271dc76b8e12e93d3e1d1e528bf668e95a559e9f6fd7d5f031bd7a6a6bc8b9fa9d057b2cd56f9ec8838c7f74e87899bf9a6aeb787afbd112c
2022-01-20 13:13:30 +08:00
fanquake
a541e5d519
Merge bitcoin/bitcoin#24104: fs: Make compatible with boost 1.78
dc5d6b0d47 fs: Make compatible with boost 1.78 (Andrew Chow)

Pull request description:

  Boost 1.78 removed `operator+` in a way that breaks our usage of it in a subclass. A [proposed workaround](https://github.com/boostorg/filesystem/issues/223#issuecomment-1000230207) for this is to cast the argument to `boost::filesystem::path`, and this is backwards compatible with older versions of boost.

  Additionally, it appears that `fs::canonical` no longer removes trailing slashes. This was causing a test to fail. The solution is to explicitly remove the trailing separator in the one place that `fs::canonical` is used.

  Lastly, `fs::create_directories` now has an error message saying `create_directories` instead of `create_directory`. This caused wallet_multiwallet.py to fail. The error message check has been updated to be able accept either string.

  Fixes #23846

ACKs for top commit:
  ryanofsky:
    Code review ACK dc5d6b0d47
  vincenzopalazzo:
    ACK dc5d6b0d47

Tree-SHA512: d4d8e7b49b8dfbf0ced9bfe9a2b3827841227fc755fc799f19159076b0ccf882432cc8b6ad93cdeda98fb58b942b9ba50a9e0a6b4f6b1e0097e80f1074ae5682
2022-01-20 13:06:04 +08:00
fanquake
7102f7d6f3
Merge bitcoin/bitcoin#23956: build: use zeromq 4.3.4 in depends & fix NetBSD 10 build
6897c4bdf5 build: patch depends zeromq to fix building on NetBSD Current (fanquake)
ce6dd2f1a2 zeromq 4.3.4 (fanquake)

Pull request description:

  This is a prerequisite for #23955. It updates zeromq to the latest available version, and adds a patch, [that I've sent upstream](https://github.com/zeromq/libzmq/pull/4326), to fix building on NetBSD Current (10).

ACKs for top commit:
  hebasto:
    ACK 6897c4bdf5, I have reviewed the code and it looks OK, I agree it can be merged.

Tree-SHA512: d05d9753630faebe842e1ca70c8c4af660a38e7331a9d95e84df3a3b14564c5118ca41c4fc49fb71dfee563b63e1014e5a3f8874d652e26de59e8e188a12970e
2022-01-20 09:35:45 +08:00
Jeremy Rubin
cfa575266b Optimize CHECKSIGADD Script Validation 2022-01-19 15:21:52 -08:00
Andrew Chow
dc5d6b0d47 fs: Make compatible with boost 1.78 2022-01-19 16:25:20 -05:00
MarcoFalke
fa2bcc4e42
Run coin.IsSpent only once in a row
Follow-up to commit 64e4963c63
2022-01-19 16:55:53 +01:00
MarcoFalke
06b6369766
Merge bitcoin/bitcoin#23976: document and clean up MaybeUpdateMempoolForReorg
e177fcab38 Replace `struct update_lock_points` with lambda (glozow)
c7cd98c717 document and clean up MaybeUpdateMempoolForReorg (glozow)

Pull request description:

  followup to #23683, addressing https://github.com/bitcoin/bitcoin/pull/23683#issuecomment-989741186

ACKs for top commit:
  hebasto:
    ACK e177fcab38, I have reviewed the code and it looks OK, I agree it can be merged.
  instagibbs:
    ACK e177fcab38
  MarcoFalke:
    Approach ACK e177fcab38 😶

Tree-SHA512: 8c2709dd5cab73cde41f3e5655d5f237bacfb341f78eac026169be579528695ca628c8777b7d89760d8677a4e6786913293681cfe16ab702b30c909703e1824c
2022-01-19 15:31:58 +01:00
fanquake
2d7ffce852
Merge bitcoin/bitcoin#24093: build: specify hosts for qrencode package
bf044ef9ec build: specify hosts for qrencode package (fanquake)

Pull request description:

  Similar to how we specify the OS's we build Qt for, specify which OS's
  we will build qrencode for (a qt dependency). This commit alone doesn't
  change anything, but when we start supporting other OS's, i.e #23948,
  where we wont support qt (or at least initially), it'll skip building
  the qrencode package, which would be unused.

  I'll rebase the other *BSD changes on top of this.

ACKs for top commit:
  hebasto:
    ACK bf044ef9ec, I have reviewed the code and it looks OK, I agree it can be merged.

Tree-SHA512: 3f5f11f122704a664dd77d8da0b7e9b95d44b2f1514d0199deed9b8b8ad0d8883a1de1f444b796c5f4681f423a380c3905fce720d7d2b788130162c907c2ce3b
2022-01-19 20:37:30 +08:00
w0xlt
5e7e4c9f6e refactor: replace RecursiveMutex g_maplocalhost_mutex with Mutex 2022-01-19 07:06:36 -03:00
w0xlt
a7da1409bc scripted-diff: rename cs_mapLocalHost -> g_maplocalhost_mutex
-BEGIN VERIFY SCRIPT-
s() { sed -i 's/cs_mapLocalHost/g_maplocalhost_mutex/g' $1; }
s src/net.cpp
s src/net.h
s src/rpc/net.cpp
s src/test/net_tests.cpp
-END VERIFY SCRIPT-
2022-01-19 07:04:52 -03:00