Commit Graph

27088 Commits

Author SHA1 Message Date
UdjinM6
251434f094
test: adjust reindex test to check with txindex on/off 2024-10-08 13:47:32 +03:00
pasta
8598a3fbb8
Merge #6312: chore: Update copyrights and copyright_header.py script
7d1fc66d91 chore: run `contrib/devtools/copyright_header.py update .` (UdjinM6)
c2acde0f9b chore: update copyright_header.py and BitPay copyright strings (UdjinM6)

Pull request description:

  ## Issue being fixed or feature implemented
  A little bit of housekeeping

  ## What was done?

  ## How Has This Been Tested?

  ## Breaking Changes

  ## Checklist:
  - [ ] 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)_

ACKs for top commit:
  PastaPastaPasta:
    utACK 7d1fc66d91

Tree-SHA512: f62a15139d10d10c155deef70c218d8dd14bfe3648703c4af39c299fa56537c806e84bccb7e99159633dea02d6d145b64990874d6114cfecf2a4467c7ab2cd6d
2024-10-07 15:29:29 -05:00
fanquake
c0154c0d8c
partial merge bitcoin/bitcoin#27783: Add public Boost headers explicitly
2484cacb7a6367b24e924dba0825c843b1dfc1c3 Add public Boost headers explicitly (Hennadii Stepanov)
fade2adb5bb4ce9753e7f25da5fb1521f2f503ec test: Avoid `BOOST_ASSERT` macro (Hennadii Stepanov)

Pull request description:

  To check symbols in the code base, run:
  ```
  git grep boost::multi_index::identity
  git grep boost::multi_index::indexed_by
  git grep boost::multi_index::tag
  git grep boost::make_tuple
  ```

  Hoping on the absence of conflicts with top-prio PRs :)

ACKs for top commit:
  MarcoFalke:
    lgtm ACK 2484cacb7a6367b24e924dba0825c843b1dfc1c3
  TheCharlatan:
    ACK 2484cacb7a6367b24e924dba0825c843b1dfc1c3

Tree-SHA512: d122ab028eee76ee1c4609ed51ec8db0c8c768edcc2ff2c0e420a48e051aa71e99748cdb5d22985ae6d97c808c77c1a27561f0715f77b256f74c1c310b37694c
2024-10-07 15:14:10 -05:00
fanquake
49fcd4ab64
Merge bitcoin/bitcoin#29066: Bump minimum required Boost version due to migration to C++20
49a90915aa3ee8e3a7e163f23a55de931faf8523 build: Bump minimum required Boost to 1.73.0 to support C++20 (Hennadii Stepanov)

Pull request description:

  Boost versions <1.73 have C++20-specific bugs that were fixed in the following commits:
  - 15fcf21356
  - 495c095dc0

  I tested [`libboost1.71-dev`](https://packages.ubuntu.com/focal/libboost1.71-dev) in Ubuntu 20.04 and Boost 1.71, 1.72, 1.73 in our depends build system.

  Closes https://github.com/bitcoin/bitcoin/issues/29063.

ACKs for top commit:
  fanquake:
    ACK 49a90915aa3ee8e3a7e163f23a55de931faf8523

Tree-SHA512: b8ebc08af85abfa3fda70961bd1136ee9e5149dd76a3f901e43acba624d231971873cba5cbf30837f9e5ab58790b8330f241a76cb76d8cf5dce5ad0cca33fba8
2024-10-07 15:13:14 -05:00
MarcoFalke
355a69c47d
Merge bitcoin/bitcoin#24558: build: explicitly disable Boost multi_index serialization
0d01272cd883f4d2a53409fdc49b8732a3dbda26 build: don't use Boost multi_index serialization (fanquake)

Pull request description:

  We don't use the serialization or archiving facilities of multi_index.
  So globally disable support, which gives a minor improvement in build
  time, i.e less preprocessing work, given we don't link any Boost libs.

  See: https://www.boost.org/doc/libs/1_78_0/libs/multi_index/doc/tutorial/creation.html

  > Serialization capabilities are automatically provided by just linking with the appropriate Boost.Serialization library module: it is not necessary to explicitly include any header from Boost.Serialization, apart from those declaring the type of archive used in the process. If not used, however, serialization support can be disabled by globally defining the macro BOOST_MULTI_INDEX_DISABLE_SERIALIZATION. Disabling serialization for Boost.MultiIndex can yield a small improvement in build times, and may be necessary in those defective compilers that fail to correctly process Boost.Serialization headers.

ACKs for top commit:
  MarcoFalke:
    cr ACK 0d01272cd883f4d2a53409fdc49b8732a3dbda26

Tree-SHA512: 87c664a2f142dc6b8f8598341f9829be3fda8cf614d73cc9a894c8033ee40c6daa9b50f4049ecb1f1e3aaf342568d9a5f5c65af1e04c36ee3a9cb46eca95767b
2024-10-07 15:13:14 -05:00
pasta
79bd3d962f
Merge #6311: fix: 2 follow-ups for PeriodicStats
802efc5efd fix: update DEFAULT_STATSD_HOST (UdjinM6)
44d7806478 fix: use correct rpc interruption point in `PeriodicStats` (UdjinM6)

Pull request description:

  ## Issue being fixed or feature implemented
  - 5c2c2b38c63415c19933d4405253130af68be2a8: dash-qt with stats enabled crashes
  - b92ce3ddfbe651fc8bd026e9d4fdc79ef4d484da: help text for `-statshost` is misleading

  ## What was done?

  ## How Has This Been Tested?

  ## Breaking Changes

  ## Checklist:
  - [ ] 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)_

ACKs for top commit:
  knst:
    utACK 802efc5efd

Tree-SHA512: 093229a96e726dc30c8aef210046bebaef040179785fd8be20de5052d766b361426f18f41338ef059997e820645faa7fba424f056be2f6454ca3190f8c3c0906
2024-10-07 15:11:53 -05:00
pasta
a76395c859
Merge #6316: backport: merge bitcoin#23289, #23365, #23777, #23782, #23737, #24039, #24192, #24117, #24789, #25192, #25294, #27280 (auxiliary backports: part 19)
f09752cac1 merge bitcoin#27280: Fix TypeError (expected str instance, bytes found) in wait_for_debug_log (Kittywhiskers Van Gogh)
ecb16808a6 merge bitcoin#25294: Fix wait_for_debug_log UnicodeDecodeError (Kittywhiskers Van Gogh)
445047db63 merge bitcoin#25192: add coverage for unknown value to -blockfilterindex (Kittywhiskers Van Gogh)
f319163815 merge bitcoin#24789: disallow indexes when running reindex-chainstate (Kittywhiskers Van Gogh)
51bc29ee59 merge bitcoin#24117: make indices robust against init aborts (Kittywhiskers Van Gogh)
6645cde0e7 merge bitcoin#24192: Fix feature_init intermittent issues (Kittywhiskers Van Gogh)
a6062445be merge bitcoin#24039: prevent UnicodeDecodeError when opening log file in feature_init.py (Kittywhiskers Van Gogh)
d35af87936 merge bitcoin#23737: make feature_init more robust (Kittywhiskers Van Gogh)
e17c619ca3 merge bitcoin#23782: include two more interruptions points (Kittywhiskers Van Gogh)
577da313df merge bitcoin#23777: follow-ups from bitcoin#23365 (Kittywhiskers Van Gogh)
a681750798 merge bitcoin#23365: Fix backwards search for bestblock (Kittywhiskers Van Gogh)
2e22fd0ba9 merge bitcoin#23289: add stress tests for initialization (Kittywhiskers Van Gogh)

Pull request description:

  ## Additional Information

  * When backporting [bitcoin#24789](https://github.com/bitcoin/bitcoin/pull/24789), `-txindex=0` had to be appended to the arguments passed in `feature_reindex.py` as unlike Bitcoin ([source](dac44fc06f/src/validation.h (L83))), Dash enables the transaction index by default ([source](74e54b8a12/src/validation.h (L94))).

    As having the index enabled when using `-reindex-chainstate` is now prohibited, without this change, the test will crash.

  ## Breaking Changes

  None expected.

  ## Checklist:

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

ACKs for top commit:
  UdjinM6:
    utACK f09752cac1
  PastaPastaPasta:
    utACK f09752cac1

Tree-SHA512: 72a983e5d5de9b2efd7509beeedbe2e3f32774b1ee20a546e246cca66e1100fa82e7731bce08a5ff620757a6fbaea8a640fb3bc3e7afe20734b79bd92d74f0fd
2024-10-07 15:07:02 -05:00
pasta
5cba8e29fc
Merge #6296: backport: merge bitcoin#22772, #22987, #23185, #23157, #23173, #23249, #23211, #22677, #23649, #23683, #23636, #22626 (auxiliary backports: part 17)
8c3ff618d3 chore: apply some `clang-format-diff.py` suggestions (Kittywhiskers Van Gogh)
aa1f56f126 merge bitcoin#22626: Remove txindex migration code (Kittywhiskers Van Gogh)
145d94d700 merge bitcoin#23636: Remove GetAdjustedTime from init.cpp (Kittywhiskers Van Gogh)
150ca008fe merge bitcoin#23683: valid but different LockPoints after a reorg (Kittywhiskers Van Gogh)
e85862ba11 merge bitcoin#23649: circular dependency followups (Kittywhiskers Van Gogh)
8ab99290f9 merge bitcoin#22677: cut the validation <-> txmempool circular dependency (Kittywhiskers Van Gogh)
ee49383cd6 merge bitcoin#23211: move `update_*` structs from txmempool.h to .cpp file (Kittywhiskers Van Gogh)
3d769c7a64 merge bitcoin#23249: ParseByteUnits - Parse a string with suffix unit (Kittywhiskers Van Gogh)
edd0bab6b5 chore: remove superfluous `ParseHDKeypath` definition (Kittywhiskers Van Gogh)
0073b66aaa refactor: migrate some Dash code to use `ChainstateManager::ProcessTransaction` (Kittywhiskers Van Gogh)
c8571c0956 merge bitcoin#23173: Add `ChainstateManager::ProcessTransaction` (Kittywhiskers Van Gogh)
a21bfd02e9 merge bitcoin#23157: improve performance of check() and remove dependency on validation (Kittywhiskers Van Gogh)
b35dc7236d merge bitcoin#23185: Add ParseMoney and ParseScript tests (Kittywhiskers Van Gogh)
7c03133be3 merge bitcoin#22987: Fix "RuntimeError: Event loop is closed" on Windows (Kittywhiskers Van Gogh)
ba60d5459e merge bitcoin#22772: hasher cleanup (follow-up to bitcoin#19935) (Kittywhiskers Van Gogh)

Pull request description:

  ## Additional Information

  * When backporting [bitcoin#23173](https://github.com/bitcoin/bitcoin/pull/23173), `bypass_limits` had to be extended to `ChainstateManager::ProcessTransaction()` as Dash allows the `sendrawtransaction` RPC to bypass limits with the optional `bypasslimits` boolean (introduced in [dash#2110](https://github.com/dashpay/dash/pull/2110)).

    The bool arguments are not in alphabetical order to prevent breakage with Bitcoin code that expects `bypass_limits` to always be `false`.

  ## Breaking Changes

  None expected.

  ## Checklist

  - [x] I have performed a self-review of my own code
  - [x] I have commented my code, particularly in hard-to-understand areas **(note: N/A)**
  - [x] 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 _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    utACK 8c3ff618d3
  PastaPastaPasta:
    utACK 8c3ff618d3

Tree-SHA512: ea1eaad7279b6608a07c1175e5c3b44385d42e33afa8ce5160d871fc9b37a014e9981eafca379ac3ad6dc141b5fda6f1e676b4cc9658a6d1775fe929a134ff67
2024-10-07 15:00:22 -05:00
pasta
fa6132fd1d
Merge #6183: feat: keep llmq_50_60 enabled in Devnets
e3a2cbbd78 clang format fix (Odysseas Gabrielides)
de4238e11b Create release-notes-6183.md (Odysseas Gabrielides)
d65f63c451 enable llmq_50_60 in Devnets (Odysseas Gabrielides)

Pull request description:

  ## Issue being fixed or feature implemented
  LLMQ_50_60 needs to be enabled in Devnets when deploying a larger one.

  ## What was done?

  ## How Has This Been Tested?

  ## Breaking Changes
  no

  ## 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 _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    utACK e3a2cbbd78
  knst:
    utACK e3a2cbbd78

Tree-SHA512: c2b2bb2905a2a1de6710882ae5b8957159232914a20f1389a62de3b5a042f5dcd9cf392ed69586cb81ad601ac50b0474e6d761128696978f61f12088002757de
2024-10-07 14:58:33 -05:00
pasta
4bd7f5db48
Merge #6303: refactor: segregate x11 hashing
e1749b50a3 exclude x11 dir from linting (pasta)
dc1f566fce fmt: run clang-format on hash_x11.h (pasta)
bd8aa04d44 refactor: segregate x11 hashing (pasta)

Pull request description:

  ## Issue being fixed or feature implemented
  Refactor x11 hashing out into it's own header

  ## What was done?
  move x11 hashing out of hash.h, into hash_x11.h and also move those headers crypto/x11 folder

  ## How Has This Been Tested?
  Building

  ## Breaking Changes
  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
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    utACK e1749b50a3

Tree-SHA512: c5e9ac9995608b1963494a4e6d870bb452972d6c09387c06546623e25c8be26fd2918918fb00fbef0c0356c61f1bed127a469c5adae252792f25bc419c73100b
2024-10-07 14:43:27 -05:00
Konstantin Akimov
7eb1634686
refactor: drop alias that is used only once 2024-10-07 13:48:15 +07:00
Konstantin Akimov
1570a02c89
refactor: move ScopedLockBool from header to cpp file 2024-10-07 13:48:12 +07:00
Konstantin Akimov
7aafb5a393
fix: add one more file to list of non-backported (flat-database.h) 2024-10-07 13:47:20 +07:00
Konstantin Akimov
41f1a43236
fix: add missing const for member functions of CRateCheckBuffer 2024-10-07 13:46:30 +07:00
Konstantin Akimov
982fc9a069
fix: avoid lock annotation for govman.cs in voteraw 2024-10-07 13:38:32 +07:00
UdjinM6
802efc5efd
fix: update DEFAULT_STATSD_HOST 2024-10-05 23:20:45 +03:00
UdjinM6
44d7806478
fix: use correct rpc interruption point in PeriodicStats 2024-10-05 23:20:45 +03:00
UdjinM6
7d1fc66d91
chore: run contrib/devtools/copyright_header.py update . 2024-10-05 23:17:41 +03:00
UdjinM6
c2acde0f9b
chore: update copyright_header.py and BitPay copyright strings 2024-10-05 23:17:41 +03:00
pasta
e1749b50a3
exclude x11 dir from linting 2024-10-05 12:19:42 -05:00
pasta
07aa0961c4
Merge #6257: backport: Merge bitcoin#22579, 23964
387f8b1105 Merge bitcoin/bitcoin#23964: Update test/sanitizer_suppressions/lsan (MarcoFalke)
eb6e2d29a6 Merge bitcoin/bitcoin#22579: doc: Add references for the generator/constant used in Bech32(m) (W. J. van der Laan)

Pull request description:

  bitcoin backport

ACKs for top commit:
  PastaPastaPasta:
    utACK 387f8b1105

Tree-SHA512: 78c9397e8fae6c9c3c958307f26d2bf87e8d19404e39b468b5b6bc9b8b8a57229b6162d2dabc8552c7eb1d98cf268713f20cfacaf5ffc983f43533296b82a6f2
2024-10-05 12:13:08 -05:00
pasta
809eb55ba3
Merge #6306: backport: bitcoin#21679, #21913 - RPC default argument
0c3c7326bb Merge bitcoin/bitcoin#21913: rpc: RPCHelpMan fixes (MarcoFalke)
0484aa63c9 Merge #21679: rpc: Keep default argument value in correct type (MarcoFalke)
7be514c45c refactor: add const and use ?: in rpc/blockhain for dash specific code (Konstantin Akimov)

Pull request description:

  ## What was done?
  Backport bitcoin#21679, #21913 which keep default argument value in correct type and some extra fixes and apply fixes for Dash specific code.

  ## How Has This Been Tested?
  Run unit/functional tests.

  ## Breaking Changes
  It doesn't actually change behavior, just improve implementation of default arguments and help for RPC.

  ## 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

ACKs for top commit:
  UdjinM6:
    utACK 0c3c7326bb
  PastaPastaPasta:
    utACK 0c3c7326bb

Tree-SHA512: 487d84b5b2385ccbd5de261a7e9e1596ad626b7761f258c0eb85c0fafeec8c3b428b3eb4c4cab5f6ac734aa0a70d5f3d528cc4b4bc32e2e391044a640ed45488
2024-10-05 12:11:16 -05:00
Kittywhiskers Van Gogh
8c3ff618d3
chore: apply some clang-format-diff.py suggestions 2024-10-05 17:10:04 +00:00
Kittywhiskers Van Gogh
aa1f56f126
merge bitcoin#22626: Remove txindex migration code 2024-10-05 17:10:03 +00:00
Kittywhiskers Van Gogh
145d94d700
merge bitcoin#23636: Remove GetAdjustedTime from init.cpp 2024-10-05 17:10:03 +00:00
Kittywhiskers Van Gogh
150ca008fe
merge bitcoin#23683: valid but different LockPoints after a reorg 2024-10-05 17:10:03 +00:00
Kittywhiskers Van Gogh
e85862ba11
merge bitcoin#23649: circular dependency followups 2024-10-05 17:10:03 +00:00
Kittywhiskers Van Gogh
8ab99290f9
merge bitcoin#22677: cut the validation <-> txmempool circular dependency 2024-10-05 17:10:03 +00:00
Kittywhiskers Van Gogh
ee49383cd6
merge bitcoin#23211: move update_* structs from txmempool.h to .cpp file 2024-10-05 17:10:03 +00:00
Kittywhiskers Van Gogh
3d769c7a64
merge bitcoin#23249: ParseByteUnits - Parse a string with suffix unit 2024-10-05 17:10:03 +00:00
Kittywhiskers Van Gogh
edd0bab6b5
chore: remove superfluous ParseHDKeypath definition
`ParseHDKeypath` was moved to `bip34.cpp` in bitcoin#14021 (dash#4695),
remove lingering definition from `util/strencodings.h`
2024-10-05 17:10:03 +00:00
Kittywhiskers Van Gogh
0073b66aaa
refactor: migrate some Dash code to use ChainstateManager::ProcessTransaction 2024-10-05 17:10:02 +00:00
Kittywhiskers Van Gogh
c8571c0956
merge bitcoin#23173: Add ChainstateManager::ProcessTransaction
We need to extend `bypass_limits` to `ProcessTransaction()` because
Dash allows the `sendrawtransaction` RPC to bypass limits with the
optional `bypasslimits` boolean (introduced in dash#2110).

The bool arguments are not in alphabetical order to prevent breakage
with Bitcoin code that expects `bypass_limits` to always be false.
2024-10-05 17:10:02 +00:00
Kittywhiskers Van Gogh
a21bfd02e9
merge bitcoin#23157: improve performance of check() and remove dependency on validation 2024-10-05 17:10:02 +00:00
Kittywhiskers Van Gogh
b35dc7236d
merge bitcoin#23185: Add ParseMoney and ParseScript tests 2024-10-05 17:10:02 +00:00
Kittywhiskers Van Gogh
7c03133be3
merge bitcoin#22987: Fix "RuntimeError: Event loop is closed" on Windows 2024-10-05 17:10:02 +00:00
Kittywhiskers Van Gogh
ba60d5459e
merge bitcoin#22772: hasher cleanup (follow-up to bitcoin#19935)
`KeyIDHasher` was never introduced as Dash uses different HD logic.
Therefore, there is no `KeyIDHasher` to remove.
2024-10-05 17:10:02 +00:00
Kittywhiskers Van Gogh
f09752cac1
merge bitcoin#27280: Fix TypeError (expected str instance, bytes found) in wait_for_debug_log 2024-10-05 17:09:35 +00:00
Kittywhiskers Van Gogh
ecb16808a6
merge bitcoin#25294: Fix wait_for_debug_log UnicodeDecodeError 2024-10-05 17:09:35 +00:00
Kittywhiskers Van Gogh
445047db63
merge bitcoin#25192: add coverage for unknown value to -blockfilterindex 2024-10-05 17:09:34 +00:00
Kittywhiskers Van Gogh
f319163815
merge bitcoin#24789: disallow indexes when running reindex-chainstate 2024-10-05 17:09:34 +00:00
Kittywhiskers Van Gogh
51bc29ee59
merge bitcoin#24117: make indices robust against init aborts
continuation of 123cf8d2 (dash#5501)
2024-10-05 17:09:34 +00:00
Kittywhiskers Van Gogh
6645cde0e7
merge bitcoin#24192: Fix feature_init intermittent issues 2024-10-05 17:09:34 +00:00
Kittywhiskers Van Gogh
a6062445be
merge bitcoin#24039: prevent UnicodeDecodeError when opening log file in feature_init.py 2024-10-05 17:09:34 +00:00
Kittywhiskers Van Gogh
d35af87936
merge bitcoin#23737: make feature_init more robust 2024-10-05 17:09:34 +00:00
Kittywhiskers Van Gogh
e17c619ca3
merge bitcoin#23782: include two more interruptions points 2024-10-05 17:09:34 +00:00
Kittywhiskers Van Gogh
577da313df
merge bitcoin#23777: follow-ups from bitcoin#23365 2024-10-05 17:09:34 +00:00
Kittywhiskers Van Gogh
a681750798
merge bitcoin#23365: Fix backwards search for bestblock 2024-10-05 17:09:34 +00:00
Kittywhiskers Van Gogh
2e22fd0ba9
merge bitcoin#23289: add stress tests for initialization 2024-10-05 17:09:33 +00:00
pasta
bda01b19e6
Merge #6315: test: call self.generate() in p2p_net_deadlock.py (follow-up dash#6276)
9b0c506cf0 test: call `self.generate()` in `p2p_net_deadlock.py` (Kittywhiskers Van Gogh)

Pull request description:

  ## Additional Information

  `develop` is currently borked ([build](https://gitlab.com/dashpay/dash/-/jobs/7999893074#L266)) because [dash#6288](https://github.com/dashpay/dash/pull/6288) changed the expected syntax for `generate*` calls and [dash#6276](https://github.com/dashpay/dash/pull/6276) introduced a new test (`p2p_net_deadlock.py`) that was based on a version of `develop` that used the older syntax.

  No conflicts were reported because it was a new file introduced in the latter PR that the former PR did not have knowledge of.

  ## Breaking changes

  None expected.

  ## Checklist:

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

ACKs for top commit:
  UdjinM6:
    utACK 9b0c506cf0
  PastaPastaPasta:
    utACK 9b0c506cf0

Tree-SHA512: 3b49f0ff4fc5beea8bd48019c581577ebb47cf50c5526e60367740e5deea7fc92451a480abd49b2b3b2a7be7fb9ca2a4aca99c565ef7aaee1ba8cce43e0be776
2024-10-05 12:07:28 -05:00