Commit Graph

25114 Commits

Author SHA1 Message Date
pasta
c1ee599c74
refactor: remove unneeded potentially problematic std::move
std::move implies the moved from variable is now clobbered and unusable; but we continue to use the `pendingRetryTxs` structure; simply remove std::move; this likely doesn't change code generation, but is clearer that no move is happening and resolves a use-after-move warning

calling std::move on a const ref does absolutely nothing; remove to avoid confusion
2024-03-04 20:34:03 -06:00
pasta
f77a1f7bce
refactor: use if-init; ensure we std::move; use try_emplace 2024-03-04 20:34:03 -06:00
pasta
37080c880e
refactor: remove a temporary; this should enable better optimization as the type is && insteas of & now 2024-03-04 20:34:00 -06:00
pasta
032c8fa395
Merge #5910: docs: add release notes for 20.1.0
a4edab66a3 docs: add release notes for 20.1.0 (pasta)

Pull request description:

  ## Issue being fixed or feature implemented
  Added release notes for 20.1.0

  ## What was done?
  Wrote release notes from WIP release-notes; trimmed some fat from release notes

  ## How Has This Been Tested?
  Ran linters

  ## Breaking Changes
  None; docs only

  ## Checklist:
    _Go over all the following points, and put an `x` in all the boxes that apply._
  - [ ] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

Top commit has no ACKs.

Tree-SHA512: 47efb01e839f9357f6af372806350ac3cc3f6f18a7437afa670306050cb93c4a5ce7fd91256ae39c3febaabb9b078824e75d85792da37c063e74f8e13f0e465c
2024-03-04 15:16:20 -06:00
pasta
a4edab66a3
docs: add release notes for 20.1.0
Co-authored-by: thephez <thephez@users.noreply.github.com>
Co-authored-by: Konstantin Akimov <knstqq@gmail.com>
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2024-03-04 15:15:38 -06:00
pasta
149f72e651
Merge #5920: docs: update manpages for 20.1
e746c698fb docs: update manpages for 20.1 (UdjinM6)

Pull request description:

  ## Issue being fixed or feature implemented
  update man pages

  ## What was done?
  run `./contrib/devtools/gen-manpages.sh`, skip local-dependent changes

  ## How Has This Been Tested?

  ## Breaking Changes
  n/a

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

Top commit has no ACKs.

Tree-SHA512: 22bcd824fa391d044a9924c9135aca9ed346312cfcba7f74fda5e9ae1b5d5e33e405ba51a4ab2024f3b110d3bd303e4368a567ef6069eb2fc74e32adef81380f
2024-03-04 09:58:51 -06:00
UdjinM6
e746c698fb
docs: update manpages for 20.1
run `./contrib/devtools/gen-manpages.sh`, skip local-dependent changes
2024-03-04 18:44:18 +03:00
pasta
39c1778add
Merge #5918: refactor: actually move out of previousQuarters.quarterHMinus*C and nquorumMembers
a701a8d5c9 refactor: actually move out of previousQuarters.quarterHMinus*C and newQuarterMembers into quorumMembers (pasta)

Pull request description:

  ## Issue being fixed or feature implemented
  we use std::move; but it doesn't actually move

  ## What was done?
  refactor in order to actually move

  ## How Has This Been Tested?
  Waiting for CI / tests; built locally + unit tests

  ## Breaking Changes
  Should be none

  ## Checklist:
    _Go over all the following points, and put an `x` in all the boxes that apply._
  - [ ] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [ ] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

Top commit has no ACKs.

Tree-SHA512: ff2065724aaa1f1c5b29bd56dc005fd95f8c28ea813af10de20ae1c07810e2e73f72d676fa5b1c353db32ee499b8351035c0a252a16bd6f182da1c1d5479bea9
2024-03-04 09:02:59 -06:00
pasta
a701a8d5c9
refactor: actually move out of previousQuarters.quarterHMinus*C and newQuarterMembers into quorumMembers 2024-03-04 09:02:03 -06:00
pasta
a59c91c6dc
Merge #5912: chore: Translations 2024-03
9c92392ef3 ci: exclude translation files from clang-diff analysis (UdjinM6)
65f55b8aa5 99%+: it (UdjinM6)
9b441132fc 80%+: bg (UdjinM6)
19ecd79c2e 88%+: ar, de, es, fi, fr, ja, ko, nl, pt, sk, tr, zh_TW (UdjinM6)
d541448eee 90%+: it, pl, th, zh_CN (UdjinM6)
cfc4aa8470 100%: ru (UdjinM6)
26a377da5c chore: update `dashstrings.cpp` and `dash_en.ts`/`dash_en.xlf` (UdjinM6)

Pull request description:

  ## Issue being fixed or feature implemented
  Update strings and translations. Also added d3dc0e5386 to skip clang-diff for auto-generated `src/qt/dashstrings.cpp` and translation files in `src/qt/locale/`.

  ## What was done?

  ## How Has This Been Tested?

  ## Breaking Changes
  n/a

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

Top commit has no ACKs.

Tree-SHA512: fe99b4cc9ac1c88eb29a72a6b9c90c5e99a86d2996b1e1747a1b6bf4ba7ffd6b62ceb11c8b01be3e2c872bbb18d8343e7b4bd9cde4caa3256316e8190bc8353f
2024-03-04 08:55:19 -06:00
UdjinM6
9c92392ef3
ci: exclude translation files from clang-diff analysis 2024-03-04 08:54:53 -06:00
UdjinM6
65f55b8aa5
99%+: it 2024-03-04 08:54:52 -06:00
UdjinM6
9b441132fc
80%+: bg 2024-03-04 08:54:52 -06:00
UdjinM6
19ecd79c2e
88%+: ar, de, es, fi, fr, ja, ko, nl, pt, sk, tr, zh_TW 2024-03-04 08:54:52 -06:00
UdjinM6
d541448eee
90%+: it, pl, th, zh_CN 2024-03-04 08:54:51 -06:00
UdjinM6
cfc4aa8470
100%: ru 2024-03-04 08:54:51 -06:00
UdjinM6
26a377da5c
chore: update dashstrings.cpp and dash_en.ts/dash_en.xlf 2024-03-04 08:54:49 -06:00
pasta
1ec3802901
Merge #5915: docs: fix transifex link for Dash Core
df59a8dd04 docs: fix transifex link for Dash Core (Konstantin Akimov)

Pull request description:

  ## Issue being fixed or feature implemented
  Current link to transifex is dead: https://www.transifex.com/projects/p/dash/

  ## What was done?
  Link to transifex is updated to https://explore.transifex.com/dash/dash/

  ## How Has This Been Tested?
  Click and see what is open in browser.

  ## Breaking Changes
  N/A

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone

Top commit has no ACKs.

Tree-SHA512: 24f095493c63de72b8bcaa4952b8a00518c3427d80e004100244ce57c016c6528863ce83febbe68edce817b72160ac5bdcc0f984a4ea769cab9ffa20b87f87a5
2024-03-04 08:49:32 -06:00
Konstantin Akimov
df59a8dd04
docs: fix transifex link for Dash Core 2024-03-04 08:48:34 -06:00
pasta
499651045e
Merge #5881: backport: Merge bitcoin#20047, 20692, 20737, 20210, 21003, 22086, 22203, 21357, 22311, 20677
fdfe72bb75 Merge #20677: doc: Remove shouty enums in net_processing comments (Wladimir J. van der Laan)
27efa9918f Merge bitcoin/bitcoin#22311: test: Add missing syncwithvalidationinterfacequeue in p2p_blockfilters (MarcoFalke)
65045a0c9d Merge #21357: test: Unconditionally check for fRelay field in test framework (MarcoFalke)
fbd2722bb2 Merge bitcoin/bitcoin#22203: test: Use ConnmanTestMsg from test lib in denialofservice_tests (fanquake)
ec8e45b851 Merge bitcoin/bitcoin#22086: test: remove BasicTestingSetup from unit tests that don't need it (W. J. van der Laan)
27938659e3 Merge #21003: test: Move MakeNoLogFileContext to libtest_util, and use it in bench (fanquake)
5107598bf9 Merge #20210: net: assert CNode::m_inbound_onion is inbound in ctor, add getter, unit tests (MarcoFalke)
0b109bed58 Merge #20737: test: Add missing assignment in mempool_resurrect.py (MarcoFalke)
0193d482a6 Merge #20692: test: run mempool_resurrect.py even with wallet disabled (MarcoFalke)
39f08af18a Merge #20047: test: use wait_for_{block,header} helpers in p2p_fingerprint.py (Wladimir J. van der Laan)

Pull request description:

  bitcoin backport

Top commit has no ACKs.

Tree-SHA512: 9ba5e12170a5f92eefcea7a646a92a4f844b2d134ccc23060235ee8f0debb81280dd39cecec0d21f9d081376b88e6e1c0a15159ac5ac19ff4f4c99d4cd53271d
2024-03-04 00:27:16 -06:00
Wladimir J. van der Laan
fdfe72bb75
Merge #20677: doc: Remove shouty enums in net_processing comments
0c41c1083089efb158de828f97eb00e206f2869a doc: Remove shouty enums in net_processing comments (Suhas Daftuar)

Pull request description:

  This uses the `CNode::ConnectionTypeAsString()` strings in place of the all-caps enums in a couple of comments in `net_processing`, as suggested by ajtowns in https://github.com/bitcoin/bitcoin/pull/19858#discussion_r540821050.

ACKs for top commit:
  practicalswift:
    ACK 0c41c1083089efb158de828f97eb00e206f2869a
  jnewbery:
    ACK 0c41c1083089efb158de828f97eb00e206f2869a
  laanwj:
    ACK 0c41c1083089efb158de828f97eb00e206f2869a

Tree-SHA512: c8ab905e151ebb144c3f878277dc59d77591e4b39632658407b69b80b80d65825d5a391b01e2aea6af2fdf174c143dfe7d2f3eba84a020a58d7926458fdcd0a5
2024-03-04 00:21:22 -06:00
MarcoFalke
27efa9918f
Merge bitcoin/bitcoin#22311: test: Add missing syncwithvalidationinterfacequeue in p2p_blockfilters
fadddd13eef4428f5fa7237583d4be41a9335cd9 test: Add missing syncwithvalidationinterfacequeue (MarcoFalke)
faa211fc6e3d4984b8edff1d762dd4cba205d982 test: Misc cleanup (MarcoFalke)
fa1668bf5084a190b26b022b9e625a7be3defa6e test: Run pep-8 (MarcoFalke)
facd97ae0f0d816107aa3bc9de321244200636a0 scripted-diff: Renames (MarcoFalke)

Pull request description:

  The index on the block filters is running in the background on the validation interface. To avoid intermittent test failures, it needs to be synced.

  Also other cleanups.

ACKs for top commit:
  lsilva01:
    Tested ACK fadddd13ee on Ubuntu 20.04

Tree-SHA512: d858405db426a2f9d5620059dd88bcead4e3fba3ccc6bd8023f624b768fbcfa2203246fb0b2db620490321730d990f0e78063b21a26988c969cb126d4bd697bd
2024-03-04 00:21:21 -06:00
MarcoFalke
65045a0c9d
Merge #21357: test: Unconditionally check for fRelay field in test framework
39a9ec579f023ab262a1abd1f0c869be5b1f3f4d Unconditionally check for fRelay field in test framework (Troy Giorshev)

Pull request description:

  picking up #20411 (rebased onto master)

  There is a discrepancy in the implementation of our p2p protocol between
  bitcoind and the testing framework.  The fRelay field is an optional
  field at the end of a version message as of protocol version 70001.
  However, when deserializing a message in bitcoind, we don't check the
  version to see if it should have an fRelay field or not.  Instead, we
  unconditionally attempt to deserialize into the field.

  This commit brings the testing framework in line with the implementation
  in core.

  This matters for a version message with the following fields:

  Version = 60000
  fRelay = 1

  Bitcoind would deserialize this into a version message with
  Version=60000 and fRelay=1, whereas (before this commit) our testing
  framework would deserialize this into a version message with
  Version=60000 and fRelay=0.

ACKs for top commit:
  jnewbery:
    utACK 39a9ec579f023ab262a1abd1f0c869be5b1f3f4d

Tree-SHA512: 13a23f1180b7121ba41cb85baa38094b41f4607a7c88b3384775177cb116e76faf5514760624f98a4e8a830767407c46753a7e0285158c33e0c6ce395de8f15c
2024-03-04 00:21:21 -06:00
fanquake
fbd2722bb2
Merge bitcoin/bitcoin#22203: test: Use ConnmanTestMsg from test lib in denialofservice_tests
fa72fce7c948185752a01002000ea511809146ed test: Use ConnmanTestMsg from test lib in denialofservice_tests (MarcoFalke)

Pull request description:

  This allows to remove code.

  Also, required for https://github.com/bitcoin/bitcoin/pull/18470

ACKs for top commit:
  mjdietzx:
    crACK fa72fce7c948185752a01002000ea511809146ed 👍👍
  fanquake:
    ACK fa72fce7c948185752a01002000ea511809146ed

Tree-SHA512: 12aa68cde697c0f7c25d60bb0c02783e5462eb3ba39947b0d94a7798bc278e7d5f092f3ab2a3d0547947c3502cde7c4a599419055a57f78ef1f70f9f637e14c7
2024-03-04 00:21:21 -06:00
W. J. van der Laan
ec8e45b851
Merge bitcoin/bitcoin#22086: test: remove BasicTestingSetup from unit tests that don't need it
6c3fcd5591eb9947f35483014ecb0d8ab217b780 test: remove BasicTestingSetup from util_threadnames unit tests (fanquake)
b53d3c1b1fd739c314b0b34f361fcd992092fc29 test: remove BasicTestingSetup from uint256 unit tests (fanquake)
c0497a49281e68b57e2a1e6c48c950b2edc80821 test: remove BasicTestingSetup from torcontrol unit tests (fanquake)
ef8bb0473be62c07f96eb269b927dcec86c1e862 test: remove BasicTestingSetup from sync unit tests (fanquake)
1aee83421fe2128757b48f6317a3e7fed784adb6 test: remove BasicTestingSetup from reverse_lock unit tests (fanquake)
57ba949ef585f8124914c43ea9a53afee201b998 test: remove BasicTestingSetup from policy_fee unit tests (fanquake)
3974c962b61a1e18f8177ffa30791ad9ad2ba6e4 test: remove BasicTestingSetup from merkleblock tests (fanquake)
cd5bc4b4708b28cabcfabbcd7f5ba1155f5b1517 test: remove BasicTestingSetup from hash unit tests (fanquake)
39cec22935302418963cc2e7db4ad2fa9656849d test: remove BasicTestingSetup from compilerbug unit tests (fanquake)
6d3b78c0e2f427d3a7431885cc175464a527a12a test: remove BasicTestingSetup from bswap unit tests (fanquake)
a13dc24831e4a2d8e16a41d8c95cdaa8afdec783 test: remove BasicTestingSetup from bech32 unit tests (fanquake)
f4dcbe4498e55d2ed818b35cd15652fd427b7a7b test: remove BasicTestingSetup from base64 unit tests (fanquake)
fd144f64265a4752fe36391c51bb6b8ccdff838f test: remove BasicTestingSetup from base32 unit tests (fanquake)
4c389ba04b36cc2916d49435e07155144882a637 test: remove BasicTestingSetup from arith_uint256 unit tests (fanquake)
05590651a0b9ebc5f5fdbdcbbc1efe4bf64888d0 test: remove BasicTestingSetup from amount unit tests (fanquake)
883a5c7d021fe29539d417796a5b07e265f1c696 test: remove BasicTestingSetup from allocator unit tests (fanquake)

Pull request description:

  * Less setup/overhead for tests that don't need it. Some naive bench-marking would suggest that a full `test_bitcoin` run is a few % faster after this change.
  * Tests which don't need the BasicTestingSetup can't accidentally end up depending on it somehow.
  * Already the case in at least the scheduler and block_filter tests.

  This adds missing includes, but more significant is the removal of `setup_common.h` from tests where it isn't needed. This saves recompiling those tests when changes are made in the header.

ACKs for top commit:
  practicalswift:
    cr ACK 6c3fcd5591eb9947f35483014ecb0d8ab217b780: patch looks correct
  laanwj:
    ACK 6c3fcd5591eb9947f35483014ecb0d8ab217b780

Tree-SHA512: 69b891e2b4740402d62b86a4fc98c329a432d125971342a6f97334e166b3537ed3d4cdbb2531fa05c1feae32339c9fcb2dceda9afeeaed4edc70e8caa0962161
2024-03-04 00:21:21 -06:00
fanquake
27938659e3
Merge #21003: test: Move MakeNoLogFileContext to libtest_util, and use it in bench
fa576b4532814b4bca1936d170cabd01fbc51960 Move MakeNoLogFileContext to common libtest_util, and use it in bench (MarcoFalke)

Pull request description:

  To avoid verbose code duplication, which may lead to accidental mishaps https://github.com/bitcoin/bitcoin/pull/20998/files#r563624041.

  Also fix a nit I found in https://github.com/bitcoin/bitcoin/pull/20946#discussion_r561949731.

ACKs for top commit:
  dongcarl:
    Light Code-Review ACK fa576b4532814b4bca1936d170cabd01fbc51960
  fanquake:
    ACK fa576b4532814b4bca1936d170cabd01fbc51960

Tree-SHA512: d39ac9c0957813ebb20ed13bd25a8ef8469377ce2651245638bd761c796feac2a17e30dd16f1e5c8db57737fb918c81d56a3d784c33258275e426a1b11e69eb2
2024-03-04 00:21:20 -06:00
MarcoFalke
5107598bf9
Merge #20210: net: assert CNode::m_inbound_onion is inbound in ctor, add getter, unit tests
86c495223f048e5ca2cf0d8730af7db3b76f7aba net: add CNode::IsInboundOnion() public getter and unit tests (Jon Atack)
6609eb8cb50fe92c7317b5db9e72d4333b3aab1b net: assert CNode::m_inbound_onion is inbound in ctor (Jon Atack)
993d1ecd191a7d9161082d4026f020cbf00835bb test, fuzz: fix constructing CNode with invalid inbound_onion (Jon Atack)

Pull request description:

  The goal of this PR is to be able to depend on `m_inbound_onion` in AttemptToEvictConnection in #20197:

  - asserts `CNode::m_inbound_onion` is inbound in the CNode ctor to have a validity check at the class boundary
  - fixes a unit test and a fuzz utility that were passing invalid inbound onion values to the CNode ctor
  - drops an unneeded check in `CNode::ConnectedThroughNetwork()` for its inbound status
  - adds a public getter `IsInboundOnion()` that also allows unit testing it
  - adds unit test coverage

ACKs for top commit:
  sipa:
    utACK 86c495223f048e5ca2cf0d8730af7db3b76f7aba
  LarryRuane:
    ACK 86c495223f048e5ca2cf0d8730af7db3b76f7aba
  vasild:
    ACK 86c495223f048e5ca2cf0d8730af7db3b76f7aba
  MarcoFalke:
    review ACK 86c495223f048e5ca2cf0d8730af7db3b76f7aba 🐍

Tree-SHA512: 21109105bc4e5e03076fadd489204be00eac710c9de0127708ca2d0a10a048ff81f640f589a7429967ac3eb51d35fe24bb2b12e53e7aa3efbc47aaff6396d204
2024-03-04 00:21:20 -06:00
MarcoFalke
0b109bed58
Merge #20737: test: Add missing assignment in mempool_resurrect.py
fada8b019af104a0df7659ede2618f594bb3e78a test: Add missing assignment in mempool_resurrect.py (MarcoFalke)

Pull request description:

Top commit has no ACKs.

Tree-SHA512: f438d85cd14a91eabfc380d9ee120cc7a7f9103cf0cd1cf565f675f386f82d966901c0ad3f60b8c462642fbf0a3791dbbd774f9b07668d22b58eb575c8d702c1
2024-03-04 00:21:20 -06:00
MarcoFalke
0193d482a6
Merge #20692: test: run mempool_resurrect.py even with wallet disabled
11a32722f09f1d81f34bd09b26248ba99f2e7f07 test: run mempool_resurrect.py even with wallet disabled (Michael Dietz)

Pull request description:

  Another functional test rewritten as proposed in #20078

  **Request for help:**
  `node.gettransaction(txid)` fails for transactions sent with `wallet.send_self_transfer`. Even though the `txid`s look correct, are added to the mempool correctly, and removed from the mempool when a block is mined - all as expected.

  However, `node.gettransaction(txid)` throws the error:
  ```sh
  Traceback (most recent call last):
    File "/Users/michaeldietz/Documents/bitcoin/test/functional/test_framework/test_framework.py", line 126, in main
      self.run_test()
    File "/Users/michaeldietz/Documents/bitcoin/test/functional/mempool_resurrect.py", line 43, in run_test
      assert_equal(len(list(filter(lambda txid: node.gettransaction(txid)["confirmations"] > 0, spends_ids))), len(spends_ids))
    File "/Users/michaeldietz/Documents/bitcoin/test/functional/mempool_resurrect.py", line 43, in <lambda>
      assert_equal(len(list(filter(lambda txid: node.gettransaction(txid)["confirmations"] > 0, spends_ids))), len(spends_ids))
    File "/Users/michaeldietz/Documents/bitcoin/test/functional/test_framework/coverage.py", line 47, in __call__
      return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
    File "/Users/michaeldietz/Documents/bitcoin/test/functional/test_framework/authproxy.py", line 146, in __call__
      raise JSONRPCException(response['error'], status)
  test_framework.authproxy.JSONRPCException: Invalid or non-wallet transaction id (-5)
  ```

  Anyone know what's going wrong / can point me in the right direction if I'm making a mistake, or `MiniWallet` needs to be improved for this to work correctly?

ACKs for top commit:
  MarcoFalke:
    ACK 11a32722f09f1d81f34bd09b26248ba99f2e7f07

Tree-SHA512: 13d83a13ec23920db716e99b68670e61329d1cc73b12063d85bc1679ee6425a9951da4d2e392ca1f27760be7be049ccdc6f504e192ed5cd24ed0ba003b66fab3
2024-03-04 00:21:20 -06:00
Wladimir J. van der Laan
39f08af18a
Merge #20047: test: use wait_for_{block,header} helpers in p2p_fingerprint.py
6b56c1f4d0d5857d9d61a81dc96db1b603c368b5 test: remove last_{block,header}_equals() in p2p_fingerprint.py (Sebastian Falbesoner)
136d96b71f94bde2c7471ed852d447ec008e3a30 test: use wait_for_{block,header} helpers in p2p_fingerprint.py (Sebastian Falbesoner)

Pull request description:

  This small PR takes use of the message receiving helper functions `wait_for_block()` and `wait_for_header()` (from module `test_framework.p2p`) in the test `p2p_fingerprint.py`.  It also simplifies the checks for very old stale blocks/headers requests by getting rid of the functions `last_block_equals()` and `last_header_equals()` and rather only testing that not any blocks/headers message is received at all. Unneeded sending of requests are also removed and calls to time.sleep(...) substituted by ping syncs.

ACKs for top commit:
  guggero:
    ACK 6b56c1f4

Tree-SHA512: 9114db70f3804adad4ab658236762d4fa73fef91158c5756dd1af2d24196ea740451b0028667e0c4047f1f89fe1355031921d3dfb973acc1370052a4bc12c2ab
2024-03-04 00:21:17 -06:00
pasta
9d8b06e2c3
Merge #5907: fix: actually run rpc_fundrawtransaction with and without HD feature
a392be6cf0 fix: actually run rpc_fundrawtransaction with and without HD feature (Konstantin Akimov)

Pull request description:

  ## Issue being fixed or feature implemented
  Due to double initialization of `extra_args` rpc_fundrawtransaction always test with enabled or disabled HD wallets (which is enabled by default).

  ## What was done?
  Fixes double initialization and inversion of condition due to hd wallets enabled by default since #5807

  ## How Has This Been Tested?
  Run functional tests and watch `ps aux` during running to ensure that `-usehd` is set properly.

  ## Breaking Changes
  N/A

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone

Top commit has no ACKs.

Tree-SHA512: 6e595b4073c50f0355d9f64b966b1a0613a7bb8dae3406523fae737e54725ffc652aa9db30daf46c9640d98f44883780bd075074d56b7e8baeeb0a1d2d007c20
2024-03-03 23:39:25 -06:00
Konstantin Akimov
a392be6cf0
fix: actually run rpc_fundrawtransaction with and without HD feature 2024-03-03 23:39:11 -06:00
pasta
2f7f67831d
Merge #5905: chore: bump protocol version to 70231
30331a2b61 chore: bump protocol version to 70231 (UdjinM6)

Pull request description:

  ## Issue being fixed or feature implemented
  To be merged closer to 20.1 release

  ## What was done?

  ## How Has This Been Tested?

  ## Breaking Changes
  n/a

  ## Checklist:
    _Go over all the following points, and put an `x` in all the boxes that apply._
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

Top commit has no ACKs.

Tree-SHA512: 63f559df96b3ed1d1cd4b7650d07795fa3b212cb81937f57795b0b46d40f6fc1598b1a8c2f981348653f7b6eb514fa98a7ccd48ffbd691b279114dc0927de1e0
2024-03-03 23:37:06 -06:00
UdjinM6
30331a2b61
chore: bump protocol version to 70231 2024-03-03 23:36:44 -06:00
pasta
5e95f8dda5
Merge #5914: chore: blockchain updates for v20.1: chainparams, seeds
97a331c523 chore: update chainparams for testnet (Konstantin Akimov)
ca0c04d769 docs: update release process for generating seeds: new PR as a reference (Konstantin Akimov)
151b56eacd fix: uninitialized variable onions in makeseeds script (Konstantin Akimov)
b8395aa4e6 chore: update seeds for v20.1 (Konstantin Akimov)
89f3a24517 chore: update chainparams for v20.1 release (Konstantin Akimov)

Pull request description:

  ## Issue being fixed or feature implemented
  Part of release process to update seeds and chainparams: https://github.com/dashpay/dash/blob/develop/doc/release-process.md

  ## Breaking Changes
  N/A

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [x] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone

Top commit has no ACKs.

Tree-SHA512: 9ba600bbc5aefe2b0ed031a7f1c39d2b105f90b6ecb843c3ab27f0668caaa381dc54cb794f74d6069a72d4d9a3f73dcca782422a98b606b192e65b51fd39b35d
2024-03-03 23:34:55 -06:00
Konstantin Akimov
97a331c523
chore: update chainparams for testnet 2024-03-03 23:34:35 -06:00
Konstantin Akimov
ca0c04d769
docs: update release process for generating seeds: new PR as a reference 2024-03-03 23:34:35 -06:00
Konstantin Akimov
151b56eacd
fix: uninitialized variable onions in makeseeds script
```
$ ./makeseeds.py protx.txt > nodes_main.txt
Traceback (most recent call last):
  File "DASH/contrib/seeds/./makeseeds.py", line 183, in <module>
    main()
  File "DASH/contrib/seeds/./makeseeds.py", line 167, in main
    for onion in onions:
                 ^^^^^^
UnboundLocalError: cannot access local variable 'onions' where it is not associated with a value
```
2024-03-03 23:34:34 -06:00
Konstantin Akimov
b8395aa4e6
chore: update seeds for v20.1
Don't forget to specify onion_seeds.txt:
```
cd contrib/seeds
dash-cli protx list valid 1 > protx.txt
./makeseeds.py protx.txt onion_seeds.txt > nodes_main.txt
./generate-seeds.py . > ../../src/chainparamsseeds.h
```
2024-03-03 23:34:34 -06:00
Konstantin Akimov
89f3a24517
chore: update chainparams for v20.1 release 2024-03-03 23:34:34 -06:00
pasta
533d82ca5a
Merge #5889: fix: fallback to a commit hash in codesign.sh
42decd3c68 fix: fallback to a commit hash in `codesign.sh` (UdjinM6)

Pull request description:

  ## Issue being fixed or feature implemented
  We don't use tags in https://github.com/dashpay/dash-detached-sigs repo, we use branches so `git describe` fails...

  ## What was done?
  Add `--always` option to fallback to commit hash. Could do
  ```
  git_head_version() {
      git -C "$1" rev-parse --short=12 HEAD`
  }
  ```
  instead but using `describe` allows us to start using tags one day with no additional patches.

  ## How Has This Been Tested?

  ## Breaking Changes

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

Top commit has no ACKs.

Tree-SHA512: 71c89641d1e4d81612c7d19d0724627f11b4a986d950483d6bf93d3071b5b0f1de6fd6359eea27a247dc403199d5221aebb2827e89f0bf67ba69a03b1570c668
2024-03-03 15:38:14 -06:00
UdjinM6
42decd3c68
fix: fallback to a commit hash in codesign.sh 2024-03-03 15:37:55 -06:00
pasta
5f6ae3ca14
Merge #5913: backport: trivial 2024 02 29
4c53a434d8 Merge bitcoin/bitcoin#26131: log: log RPC port on startup (MacroFake)
185cf8231e Merge bitcoin/bitcoin#26130: Bugfix: Wallet: Lock cs_wallet for SignMessage (MacroFake)
dc4e834d4a Merge bitcoin/bitcoin#25918: build: prune event2 compat headers (fanquake)
023eb917a8 Merge bitcoin/bitcoin#26090: fs: fully initialize `_OVERLAPPED` for win32 (fanquake)
8de9065a24 Merge bitcoin-core/gui#664: Prevent wrong handling of `%2` token by Transifex (Hennadii Stepanov)
252eae1395 Merge bitcoin/bitcoin#26054: test: verify best blockhash after invalidating an unknown block (MacroFake)
6731b10288 Merge bitcoin/bitcoin#26007: [contrib] message-capture-parser: fix AssertionError on parsing `headers` message (MacroFake)
fa7f8f2d60 Merge bitcoin/bitcoin#26002: build: sync ax_boost_base from upstream (fanquake)
3e24202f50 Merge bitcoin/bitcoin#26038: test: invalidating an unknown block throws an error (MacroFake)

Pull request description:

  ## Issue being fixed or feature implemented
  Trivial backport batch

  ## What was done?

  ## How Has This Been Tested?
  Ran tests locally; haven't properly reviewed

  ## Breaking Changes

  ## Checklist:
    _Go over all the following points, and put an `x` in all the boxes that apply._
  - [ ] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

Top commit has no ACKs.

Tree-SHA512: b6431432d7a4d3829f1212342cd1c5852baad2e6d42d37d80f40382ed12a05ebd1f580703ae4cada18d2ed84bf80269dd178a7c7e9ef6d43c26229c49d0eebeb
2024-03-01 10:21:45 -06:00
MacroFake
4c53a434d8
Merge bitcoin/bitcoin#26131: log: log RPC port on startup
9d14f27bddab351fe98a2ae197bd4cf8a092c4f3 log: log RPC port on startup (James O'Beirne)

Pull request description:

  I just spent a few hours trying to figure out why "18444" wasn't getting me to regtest's RPC server. I'm not the sharpest tool in the shed, but I was maybe understandably confused because "Bound to 127.0.0.1:18445" appears in the logs, which I assumed was the P2P port.

  This change logs the RPC listening address by default on startup, which seems like a basic piece of information that shouldn't be buried under `-debug`.

ACKs for top commit:
  dergoegge:
    ACK 9d14f27bddab351fe98a2ae197bd4cf8a092c4f3
  jarolrod:
    ACK 9d14f27bddab351fe98a2ae197bd4cf8a092c4f3
  aureleoules:
    ACK 9d14f27bddab351fe98a2ae197bd4cf8a092c4f3

Tree-SHA512: 5c86f018c0b8d6264abf878c921afe53033b23ab4cf289276bb1ed28fdf591c9d8871a4baa4098c363cb2aa9a637d2e4e18e56b14dfc7d767ee40757d7ff2e7c
2024-02-29 12:35:16 -06:00
MacroFake
185cf8231e
Merge bitcoin/bitcoin#26130: Bugfix: Wallet: Lock cs_wallet for SignMessage
a60d9eb9e6b6a272a3fca8981d89a55955dced55 Bugfix: Wallet: Lock cs_wallet for SignMessage (Luke Dashjr)

Pull request description:

  cs_desc_main is typically locked within scope of a cs_wallet lock, but:

  CWallet::IsLocked locks cs_wallet
  ...called from DescriptorScriptPubKeyMan::GetKeys
  ...called from DescriptorScriptPubKeyMan::GetSigningProvider which locks cs_desc_main first, but has no access to cs_wallet ...called from DescriptorScriptPubKeyMan::SignMessage ...called from CWallet::SignMessage which can access and lock cs_wallet

  Resolve the out of order locks by grabbing cs_wallet in CWallet::SignMessage first

  -------------

  Note this is currently only an issue for the GUI (which lacks sufficient testing apparently), but can be reproduced by #26082 (CI fails as a result)

ACKs for top commit:
  achow101:
    ACK a60d9eb9e6b6a272a3fca8981d89a55955dced55
  w0xlt:
    ACK a60d9eb9e6

Tree-SHA512: 60f6959b0ceaf4d9339ba1a47154734034b637c41b1f9e26748a2dbbc3a2a95fc3696019103c55ae70c91d910ba8f3d7f4e27d263030eb60b689f290c4d82ea9
2024-02-29 12:35:16 -06:00
fanquake
dc4e834d4a
Merge bitcoin/bitcoin#25918: build: prune event2 compat headers
22dada5d1744c3e6f1a38ef1b3f5a93cba6e3163 build: prune compat event headers (fanquake)

Pull request description:

  The `*_compat` headers are the deprecated / non-threadsafe function containing
  versions of the current headers. There's no need for us to ship them in depends.
  Prune them to save the safe / nuke the possibility of them being used.

  Guix Build (x86_64):
  ```bash
  4f48b4987101c3624673ab0a19daad5b99cb3c99b273d96a65e77cbbc3813444  guix-build-22dada5d1744/output/aarch64-linux-gnu/SHA256SUMS.part
  8296443d555666628d43be42c507e15856ee8e611738a1cdf4bdb731e1d75264  guix-build-22dada5d1744/output/aarch64-linux-gnu/bitcoin-22dada5d1744-aarch64-linux-gnu-debug.tar.gz
  dc986fe901d2fdfd2596325798ac8da3d3170ef66dfd3a4eb8804a3883c9e133  guix-build-22dada5d1744/output/aarch64-linux-gnu/bitcoin-22dada5d1744-aarch64-linux-gnu.tar.gz
  dcb142a1b2b9370cb2e3bf52853afc66ca9abede97189da8b05ecf5563054fb0  guix-build-22dada5d1744/output/arm-linux-gnueabihf/SHA256SUMS.part
  5e42eef5e8bc618878647e782a307f5a7780ffc1a263b3466d277341fdc33e2b  guix-build-22dada5d1744/output/arm-linux-gnueabihf/bitcoin-22dada5d1744-arm-linux-gnueabihf-debug.tar.gz
  4d766d4799e354c24973396eb97efefb356847b2b35a5540d2861ea8010ed8ca  guix-build-22dada5d1744/output/arm-linux-gnueabihf/bitcoin-22dada5d1744-arm-linux-gnueabihf.tar.gz
  a174b3da7a4a66210dafb4c7b1742e6fcefa2ac2d7e332cb1bd2e7d909fe2728  guix-build-22dada5d1744/output/arm64-apple-darwin/SHA256SUMS.part
  010fb348996a7ba55746d02ba83ad0638768c235015b23b84ab1fea5dc50fc55  guix-build-22dada5d1744/output/arm64-apple-darwin/bitcoin-22dada5d1744-arm64-apple-darwin-unsigned.dmg
  163a3e5f8ad71e41ce52a1f1f1281fbcbc73cfc66500345eae1ca99c3f5fba85  guix-build-22dada5d1744/output/arm64-apple-darwin/bitcoin-22dada5d1744-arm64-apple-darwin-unsigned.tar.gz
  bf88d8ab9d70be73e9d7b14053e7a9c5cf6641ccef8f100f6f6fba7762e8092e  guix-build-22dada5d1744/output/arm64-apple-darwin/bitcoin-22dada5d1744-arm64-apple-darwin.tar.gz
  d60415586a2d66558e816bc2be8b7a74f111b944ddb15e5a8e9c6331a0436083  guix-build-22dada5d1744/output/dist-archive/bitcoin-22dada5d1744.tar.gz
  665a9677417a1931382cf5dbeab29c84f642da31cf3258b5879ebd29ad43bed8  guix-build-22dada5d1744/output/powerpc64-linux-gnu/SHA256SUMS.part
  0e2551558bd40657bf0cc3cbd03b4bfdf3b87ac07258dc8751d616af5fce729d  guix-build-22dada5d1744/output/powerpc64-linux-gnu/bitcoin-22dada5d1744-powerpc64-linux-gnu-debug.tar.gz
  fd771b607cc5749b666ddd995f47ff7ba8e0e46d811abb295636cc90270ed30a  guix-build-22dada5d1744/output/powerpc64-linux-gnu/bitcoin-22dada5d1744-powerpc64-linux-gnu.tar.gz
  117e11774ab23f6302c363f710ea68367f8fa80342d8a8919775db76864fc151  guix-build-22dada5d1744/output/powerpc64le-linux-gnu/SHA256SUMS.part
  6e10bc01e2352d8db7eb16328206ee622fc2605a87d203f134e6137954789ce8  guix-build-22dada5d1744/output/powerpc64le-linux-gnu/bitcoin-22dada5d1744-powerpc64le-linux-gnu-debug.tar.gz
  1825d5bda86f6fd247c43cbf1922e0bcd60a0637233c6eb95d58917751eb2e3a  guix-build-22dada5d1744/output/powerpc64le-linux-gnu/bitcoin-22dada5d1744-powerpc64le-linux-gnu.tar.gz
  15ea9e04d72ebe4fd446698f71bf45c76b7e5bb8bdd5e027250d6efe1ac3ddfa  guix-build-22dada5d1744/output/riscv64-linux-gnu/SHA256SUMS.part
  7cf329951c79ccdf700f9283b5e55990eb85c9f11e74ee3672a15f5e5c1250f8  guix-build-22dada5d1744/output/riscv64-linux-gnu/bitcoin-22dada5d1744-riscv64-linux-gnu-debug.tar.gz
  5a73600f715e01823e9ede02376fc6538680996c713d04ccc8b2ae0caa6b476c  guix-build-22dada5d1744/output/riscv64-linux-gnu/bitcoin-22dada5d1744-riscv64-linux-gnu.tar.gz
  f5b30bcea748e78b125fa4da979038627e9a15b7a20f002f53538b4dbeed2c5d  guix-build-22dada5d1744/output/x86_64-apple-darwin/SHA256SUMS.part
  f649de898e0e2aebf7e94ee0fbd2d7011a789b235e0c9c151f33e0b9ad0fa132  guix-build-22dada5d1744/output/x86_64-apple-darwin/bitcoin-22dada5d1744-x86_64-apple-darwin-unsigned.dmg
  9f36c3d2edfd5f5b8d1833bb54f9fe0b91805de85828fed211d4d1e43c9d0fe3  guix-build-22dada5d1744/output/x86_64-apple-darwin/bitcoin-22dada5d1744-x86_64-apple-darwin-unsigned.tar.gz
  43b1c1880858a6a1c94bd2004d25172f0d12e5e6042c83f1905eda6252a0febb  guix-build-22dada5d1744/output/x86_64-apple-darwin/bitcoin-22dada5d1744-x86_64-apple-darwin.tar.gz
  ce7b249b3349f5c272484fd108239260c70eb6c9d2afcf2031650f7cbb09cd17  guix-build-22dada5d1744/output/x86_64-linux-gnu/SHA256SUMS.part
  ea6d8ffd517a07cb8c1806e6d4bf90dd5784db76bb8cb3ea0f747da92672a7f6  guix-build-22dada5d1744/output/x86_64-linux-gnu/bitcoin-22dada5d1744-x86_64-linux-gnu-debug.tar.gz
  18bed83f2384d8952c86c760f012fe870922a8cccaeb1181176bd05f06b43436  guix-build-22dada5d1744/output/x86_64-linux-gnu/bitcoin-22dada5d1744-x86_64-linux-gnu.tar.gz
  1836ad08ef45635dc2f5f49f48b0a812290b7cce23974474cc6a1db9e779d54e  guix-build-22dada5d1744/output/x86_64-w64-mingw32/SHA256SUMS.part
  37c859523561a9dedd956ef235189eb4335396f0be154cb36aa35cb0cd4f1b93  guix-build-22dada5d1744/output/x86_64-w64-mingw32/bitcoin-22dada5d1744-win64-debug.zip
  d574828d8a7c3ddcdc1ea1cf686ba7102a25b7403d338d896ef0e9a57e3b5611  guix-build-22dada5d1744/output/x86_64-w64-mingw32/bitcoin-22dada5d1744-win64-setup-unsigned.exe
  20828fd22d8b2104747440a180d4a944912244f405061c29fb58a8e19604dcbd  guix-build-22dada5d1744/output/x86_64-w64-mingw32/bitcoin-22dada5d1744-win64-unsigned.tar.gz
  a0ecdec301e54cb65e35badae05d94338ec33b03e0b4e0f332025ce5248fd74a  guix-build-22dada5d1744/output/x86_64-w64-mingw32/bitcoin-22dada5d1744-win64.zip
  ```

ACKs for top commit:
  hebasto:
    ACK 22dada5d1744c3e6f1a38ef1b3f5a93cba6e3163

Tree-SHA512: 8a042b25a8081678465fd00b615f8007a4be65c4d383725586e4b5f1b89638ad7d9eaba6113a8d96413aa774ec15b6593b0a364b593db8cdbb09e80e0b358109
2024-02-29 12:35:16 -06:00
fanquake
023eb917a8
Merge bitcoin/bitcoin#26090: fs: fully initialize _OVERLAPPED for win32
02c9e564687af6ae2b0b6589108d502963f879cb fs: fully initialize _OVERLAPPED for win32 (Cory Fields)

Pull request description:

  ```bash
  fs.cpp: In member function ‘bool fsbridge::FileLock::TryLock()’:
  fs.cpp:129:32: error: missing initializer for member ‘_OVERLAPPED::InternalHigh’ [-Werror=missing-field-initializers]
    129 |     _OVERLAPPED overlapped = {0};
        |                                ^
  fs.cpp:129:32: error: missing initializer for member ‘_OVERLAPPED::<anonymous>’ [-Werror=missing-field-initializers]
  fs.cpp:129:32: error: missing initializer for member ‘_OVERLAPPED::hEvent’ [-Werror=missing-field-initializers]
  ```

  Came up in #25972. That PR is now rebased on this change.

  Closes: #26006

ACKs for top commit:
  sipsorcery:
    tACK 02c9e564687af6ae2b0b6589108d502963f879cb.
  hebasto:
    ACK 02c9e564687af6ae2b0b6589108d502963f879cb, tested on Linux x86_64:

Tree-SHA512: 6a0495c34bd952b2bb8c994a1450da7d3eee61225bb4ff0ce009c013f5e29dba94bb1c3ecef9989dc18c939909fdc8eba690a38f96da431ae9d64c23656de7d0
2024-02-29 12:35:15 -06:00
Hennadii Stepanov
8de9065a24
Merge bitcoin-core/gui#664: Prevent wrong handling of %2 token by Transifex
8ed2b72767de55dce033d8bfe6f9414ae14e1452 qt: Prevent wrong handling of `%2` token by Transifex (Hennadii Stepanov)

Pull request description:

  On master (124e75a41ea0f3f0e90b63b0c41813184ddce2ab), Transifex translation check fails for 124e75a41e/src/qt/forms/intro.ui (L206) with a message:
  > The expression '%2G' is not present in the translation.

  In "Organization Settings" --> ["Translation checks"](https://www.transifex.com/bitcoin/settings/validations/) I have changed the status of the "**Variable substitution specifiers (like "%s") are preserved in the translations.**" check from "error" to "warning" temporarily. This setting should be reverted after applying this PR change.

  [Noted](https://www.transifex.com/bitcoin/bitcoin/translate/#ru/qt-translation-024x/436102928/) by Transifex user [AHOHNMYC](https://www.transifex.com/user/profile/AHOHNMYC/).

  I faced the same issue while working on Ukrainian translation.

ACKs for top commit:
  katesalazar:
    ACK 8ed2b72767de55dce033d8bfe6f9414ae14e1452
  jarolrod:
    ACK 8ed2b72767de55dce033d8bfe6f9414ae14e1452

Tree-SHA512: 304f795ac9241ac8453c614ed18d967226d9d515f9ea079b51af5bcbe2f0760ca7dcaea5efb38207720cb7a18159c2bcd337b961bc522a128715c70e0db81061
2024-02-29 12:35:15 -06:00
MacroFake
252eae1395
Merge bitcoin/bitcoin#26054: test: verify best blockhash after invalidating an unknown block
4f67336f1105b7c34a9e8cdafa603edc1d899fb9 test: verify best blockhash after invalidating an unknown block (brunoerg)

Pull request description:

  Fixes #26051

  Verify the best blockhash is the same after invalidating an unknown block, not the whole `getchaintip` response.

ACKs for top commit:
  instagibbs:
    ACK 4f67336f1105b7c34a9e8cdafa603edc1d899fb9

Tree-SHA512: 2d71743c1d3a317ef7b750f88437df71d1aed2728d9edac8b763a343406e168b97865ab25ec4c89caf09d002e076458376618cbd0845496375f7179633c88af9
2024-02-29 12:33:46 -06:00
MacroFake
6731b10288
Merge bitcoin/bitcoin#26007: [contrib] message-capture-parser: fix AssertionError on parsing headers message
644772b9efffda4dac01aff54042b3162079514d message-capture-parser: fix AssertionError on parsing `headers` message (Sebastian Falbesoner)

Pull request description:

  If a test framework message's field name is in the list of `HASH_INT_VECTORS`, we currently assume that it _always_ has to contain a vector of integers and throw otherwise:
  0ebd4db32b/contrib/message-capture/message-capture-parser.py (L82-L83)
  (introduced in PR #25367, commit 42bbbba7c83d1e2baad18b4c6f05bad1358eb117).

  However, that assumption is too strict. The (de)serialization field name "headers" is used in two different message types, one for `cfcheckpt` (where it is serialized as an integer vector), and another time for `headers` (where it is serialized as a vector of `CBlockHeader`s). Parsing the latter fails as it is not an integer vector and thus triggers the assert.

  Fix this by adding the integer type check as additional condition to the `HASH_INT_VECTORS` check rather than asserting.
  Fixes #25954.

ACKs for top commit:
  glozow:
    ACK 644772b9efffda4dac01aff54042b3162079514d

Tree-SHA512: c98a107f6703c6c1a81771907c25bcc171c631b57fd605fbebaedd93d651e2ef02fb5601853a9bc7d659ab531c5f47770181173a36ea2b37f584aa7a37b66505
2024-02-29 12:33:46 -06:00