c6f23a718c merge bitcoin#31383: Add missing node.setmocktime(self.mocktime) to p2p_ibd_stalling.py (Kittywhiskers Van Gogh)
9072a10754 merge bitcoin#30545: fix intermittent failures in feature_proxy.py (Kittywhiskers Van Gogh)
7e2d435e35 merge bitcoin#29483: add --v1transport option, add --v2transport to a CI task (Kittywhiskers Van Gogh)
7e59a965f8 merge bitcoin#29452: document that BIP324 on by default (Kittywhiskers Van Gogh)
0f3b5e081e merge bitcoin#29353: adhere to typical VERSION message protocol flow (Kittywhiskers Van Gogh)
dfdddfd2ff rpc: enable `v2transport` for `masternode connect` when capable (Kittywhiskers Van Gogh)
3c1636174b merge bitcoin#29356: make v2transport arg in addconnection mandatory and few cleanups (Kittywhiskers Van Gogh)
c53cd93aee merge bitcoin#29347: enable v2transport by default (Kittywhiskers Van Gogh)
7dcf561306 merge bitcoin#27452: cover addrv2 anchors by adding TorV3 to CAddress in messages.py (Kittywhiskers Van Gogh)
Pull request description:
## Additional Information
* When backporting [bitcoin#27452](https://github.com/bitcoin/bitcoin/pull/27452) in `feature_anchors.py`, `P2P_SERVICES` (`NODE_NETWORK | NODE_HEADERS_COMPRESSED`) has been replaced with `NODE_NETWORK` as the former evaluates to a value greater than `256` (specifically `2049`), which causes test failure. The replacement value is acceptable as `NODE_NETWORK` is the desired service flag expected by Dash Core ([source](779e4295ad/src/protocol.cpp (L249-L254))).
<details>
<summary>Test failure:</summary>
```
dash@89afd55ae77e:/src/dash$ ./test/functional/feature_anchors.py
2024-12-14T12:31:22.244000Z TestFramework (INFO): PRNG seed is: 8365703189892653614
2024-12-14T12:31:22.244000Z TestFramework (INFO): Initializing test directory /tmp/dash_func_test_j0ya02yu
2024-12-14T12:31:22.776000Z TestFramework (INFO): When node starts, check if anchors.dat doesn't exist
2024-12-14T12:31:22.776000Z TestFramework (INFO): Add 2 block-relay-only connections to node
2024-12-14T12:31:24.781000Z TestFramework (INFO): Add 5 inbound connections to node
2024-12-14T12:31:29.843000Z TestFramework (INFO): Check node connections
2024-12-14T12:31:30.848000Z TestFramework (INFO): Check the addresses in anchors.dat
2024-12-14T12:31:30.848000Z TestFramework (INFO): Perturb anchors.dat to test it doesn't throw an error during initialization
2024-12-14T12:31:31.356000Z TestFramework (INFO): When node starts, check if anchors.dat doesn't exist anymore
2024-12-14T12:31:31.357000Z TestFramework (INFO): Ensure addrv2 support
2024-12-14T12:31:32.364000Z TestFramework (INFO): Add 256-bit-address block-relay-only connections to node
2024-12-14T12:31:33.368000Z TestFramework (INFO): Check for addrv2 addresses in anchors.dat
2024-12-14T12:31:33.369000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
File "/src/dash/test/functional/test_framework/test_framework.py", line 161, in main
self.run_test()
File "/src/dash/./test/functional/feature_anchors.py", line 135, in run_test
new_data[services_index] = P2P_SERVICES
ValueError: byte must be in range(0, 256)
2024-12-14T12:31:33.870000Z TestFramework (INFO): Stopping nodes
2024-12-14T12:31:33.871000Z TestFramework (WARNING): Not cleaning up dir /tmp/dash_func_test_j0ya02yu
2024-12-14T12:31:33.871000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/dash_func_test_j0ya02yu/test_framework.log
```
</details>
## 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 c6f23a718c
PastaPastaPasta:
utACK c6f23a718c81b7c574ba3fecbe52f342eda35a46;
Tree-SHA512: ca134432d000d521827a20c75c03913421fe52a31fda1cbf632e0b207c31728406feb090469d592d8e2fd8d64298faa2752ff703de79f737a62c276c6a231097
a191c09cdc ci: better names for artifacts (UdjinM6)
3984a49a43 ci: exclude `*.a` and `*.o` files from artifacts (UdjinM6)
Pull request description:
## Issue being fixed or feature implemented
We include too many files in artifacts on `build` ci step, some of which (`*.a` and `*.o`) can be pretty heavy. This was ok-ish for some time but artifacts size is getting closer to the limit and even starts to cause issues, see #6462.
## What was done?
Exclude `*.a` and `*.o` files from artifacts. Also, change artifacts name to make it easier to distinguish them when you get a few of them from the same pipeline - `build-arm-linux.zip`, `build-linux64.zip` etc. instead of `binaries.zip`, `binaries (1).zip` etc., same for `depends`.
A simpler alternative to #6483
As a result the size of tsan artifacts for example is down from 508MB in 6462 to 154MB in this PR.
## 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:
PastaPastaPasta:
utACK a191c09cdc
kwvg:
utACK a191c09cdc
Tree-SHA512: eb3029c95a11546958d34ad284f4eb600b6113a2cabb885f7381afd16696f51da7eaf1677a1cdfec53311838c6845bb1c2c7c98f0ae112294b33f6ab6c66c500
dcc1ff37bc ci: do not check `--ff-only` on master branch (UdjinM6)
Pull request description:
## Issue being fixed or feature implemented
https://github.com/dashpay/dash/actions/runs/12303817802/job/34340079798
It makes no sense to check it anyway.
## 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:
PastaPastaPasta:
utACK dcc1ff37bc
Tree-SHA512: bcff6ff7bcb70f2d48e9df7db2a76b65b386f0cc7f213e44dc13a44416e1cab9449c1344166ac58e8e577dcfbdc22b0b4ebb93d610b0790623188c1680804b69
ec00c372c7 test: fix off-by-one in dynamically_add_masternode (UdjinM6)
6519856344 test: don't add legacy bls mn on start (UdjinM6)
3db20e3ed4 test: actually use masternode with basic bls pubkey in mnauth test (UdjinM6)
Pull request description:
## Issue being fixed or feature implemented
`rpc_manuth` is failing in ~50% cases locally because we still use legacy pubkeys (not in 100% cases because sometimes they look like basic ones). In CI it fails too but we retry failed tests a few times so it's less noticeable. Example of "unlucky" tests: https://gitlab.com/dashpay/dash/-/jobs/8613271300#L1867.
#6467 follow-up
## What was done?
Add another masternode after v19 activaition to actually use basic bls pubkey
## How Has This Been Tested?
run tests
## Breaking Changes
n/a
## 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 ec00c372c7
PastaPastaPasta:
utACK ec00c372c7
Tree-SHA512: 850a02ea1bd943762cdb0be706f3703742944c294ee9603b1f9ab95a6b10fb827bc9376e03333177d956b2c13df7384cfe0eb2ffef4d05ff3ec239caa8318d24
2c296de6dd revert: Revert "feat: re-bury DIP0024 with new height when quorums actually appeared" (UdjinM6)
Pull request description:
## Issue being fixed or feature implemented
`-assumevalid=0` sync is broken on develop, v22 and master aren't affected
mainnet:
```
[ loadblk] [util/system.h:57] [error] ERROR: ConnectBlock(DASH): ProcessSpecialTxsInBlock for block 00000000000000195f69a348a14fddc7c8ff61036348e95b818ca42c6c724bbb failed with bad-qc-dup
[ loadblk] [validation.cpp:1365] [InvalidChainFound] InvalidChainFound: invalid block=00000000000000195f69a348a14fddc7c8ff61036348e95b818ca42c6c724bbb height=1737834 log2_work=78.911419 date=2022-09-13T22:36:20Z
[ loadblk] [validation.cpp:1370] [InvalidChainFound] InvalidChainFound: current best=0000000000000002e91bac9f95f96885a89de2c46846d197933c8c5f03cb806f height=1737833 log2_work=78.911418 date=2022-09-13T22:35:44Z
[ loadblk] [util/system.h:57] [error] ERROR: ConnectTip: ConnectBlock 00000000000000195f69a348a14fddc7c8ff61036348e95b818ca42c6c724bbb failed, bad-qc-dup
```
testnet:
```
[ loadblk] [util/system.h:57] [error] ERROR: ConnectBlock(DASH): ProcessSpecialTxsInBlock for block 00000050ec7aa1b187c3a9df0d80a2ed2821d5836b596b962bcbc4c261b4bcd5 failed with bad-qc-dup
[ loadblk] [validation.cpp:1357] [InvalidChainFound] InvalidChainFound: invalid block=00000050ec7aa1b187c3a9df0d80a2ed2821d5836b596b962bcbc4c261b4bcd5 height=769866 log2_work=57.312136 date=2022-07-28T03:32:01Z
[ loadblk] [validation.cpp:1362] [InvalidChainFound] InvalidChainFound: current best=0000001acc25de06893220ed663f35ef8b8e82ec951963c4092c1e9ee103af6f height=769865 log2_work=57.312136 date=2022-07-28T03:28:21Z
[ loadblk] [util/system.h:57] [error] ERROR: ConnectTip: ConnectBlock 00000050ec7aa1b187c3a9df0d80a2ed2821d5836b596b962bcbc4c261b4bcd5 failed, bad-qc-dup
```
## What was done?
This reverts commit 632c4c4bcd.
## How Has This Been Tested?
Hint: sync to pre-dip24 block with `--stopatheight=1737790` and no `-assumevalid` to speed things up, then start from that block with `-assumevalid=0`
## 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:
PastaPastaPasta:
utACK 2c296de6dd
Tree-SHA512: 02d62d34b3914af61c3b415cdffcfca8d7e18b192bffadb0ceb06d6aca8b828491a68cc2a23b9e6b369efb6f2e1c8e84bbd6332b3c74f27f3d9469efaed72817
1c7bfcbde1 chore: set release true (pasta)
c90339eb61 Merge #6459: docs: add release notes for v22.0.0 (pasta)
a6f1fc590c Merge #6475: chore: bumped chain assumed sizes based on latest usage (pasta)
d7cd9f10fd Merge #6464: chore: update man pages for v22 (pasta)
212f91c35f Merge #6461: docs: update supported versions in SECURITY.md (pasta)
9a8b68515d Merge #6460: chore: Translations 2024-12 (pasta)
2f71f4d7d0 Merge #6458: chore: bump MIN_MASTERNODE_PROTO_VERSION to latest proto (pasta)
fa29ed5b5e Merge #6456: fix(qt): allow refreshing wallet data without crashing (pasta)
758cd646a1 Merge #6452: fix: store ready queues on the mixing masternode (pasta)
395447bf30 Merge #6451: depends: update 'src/dashbls' to dashpay/bls-signatures@7e747e8a as 62fa6652 (pasta)
c7b0d80939 Merge #6441: fix: hold wallet shared pointer in CJ Manager/Sessions to prevent concurrent unload (pasta)
c074e0965b Merge #6444: fix: add platform transfer to "most common" filter (pasta)
cb04114143 Merge #6442: fix: coin selection with `include_unsafe` option should respect `nCoinType` (pasta)
db5b53a9a7 Merge #6434: fix: early EHF and buried EHF are indistinguish (pasta)
8b88ff7ed6 Merge #6414: chore: bump seeds for v22 (pasta)
02ad523a22 Merge #6411: chore: update nMinimumChainWork, defaultAssumeValid, checkpointData, chainTxData for mainnet and testnet (pasta)
3bbcd3d4f8 Merge #6393: docs: mention building for some HOSTs only in `release-process.md` (pasta)
18f636f9a4 Merge #6426: fix: respect SENDDSQUEUE message, move DSQ relay into net processing / peerman (pasta)
9fed4564f4 Merge #6407: fix: dataraces (pasta)
86105daab3 Merge #6408: refactor: removed pre-MN_RR logic of validation of CL (pasta)
a1f7e96025 Merge #6406: ci: use `actions/cache` to manage depends cache (pasta)
90a3807903 Merge #6402: ci: cache built (pasta)
66f67879dc Merge #6401: ci: deduplicate depends building (pasta)
7ca56632cf Merge #6397: ci: add powerpc64 to GH Guix job matrix (pasta)
Pull request description:
## Issue being fixed or feature implemented
## What was done?
Suppressed changes from 1c7bfcbde1 and resolved merge conflicts.
```
Auto-merging .github/workflows/build.yml
Auto-merging configure.ac
Auto-merging src/chainparams.cpp
Auto-merging src/coinjoin/client.cpp
CONFLICT (content): Merge conflict in src/coinjoin/client.cpp
Auto-merging src/coinjoin/client.h
CONFLICT (content): Merge conflict in src/coinjoin/client.h
Auto-merging src/coinjoin/util.cpp
CONFLICT (content): Merge conflict in src/coinjoin/util.cpp
Auto-merging src/coinjoin/util.h
CONFLICT (content): Merge conflict in src/coinjoin/util.h
Auto-merging src/evo/specialtxman.cpp
Auto-merging src/init.cpp
Auto-merging src/net_processing.cpp
CONFLICT (content): Merge conflict in src/net_processing.cpp
Auto-merging src/net_processing.h
Auto-merging src/qt/transactiontablemodel.cpp
Auto-merging src/wallet/wallet.cpp
Auto-merging src/wallet/wallet.h
CONFLICT (content): Merge conflict in src/wallet/wallet.h
Auto-merging test/functional/feature_llmq_chainlocks.py
CONFLICT (content): Merge conflict in test/functional/feature_llmq_chainlocks.py
```
## 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:
PastaPastaPasta:
utACK d108579326f65920e67c839c38c6e48b84222bf9; no diff to develop
Tree-SHA512: 3f063011224880fee35edb04ce265dff33a52273c3d45ef1dbcebcecb22c25d8ad7c91b83514f36142716a6fbd0ddd3a8a3f2a9b59ce78ce975bbce69a2a13b5
f3be9bcb95 test: add tests for `listunspent` with `coinType` option (UdjinM6)
Pull request description:
## Issue being fixed or feature implemented
extend tests a bit
## 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:
PastaPastaPasta:
utACK f3be9bcb95
Tree-SHA512: 3f063011224880fee35edb04ce265dff33a52273c3d45ef1dbcebcecb22c25d8ad7c91b83514f36142716a6fbd0ddd3a8a3f2a9b59ce78ce975bbce69a2a13b5
6f88c070d9 ci: treat all non-protected branches as pull requests (UdjinM6)
Pull request description:
## Issue being fixed or feature implemented
This branch https://github.com/dashpay/dash/tree/feat/flatpak is 3 commits ahead so CI checks should use d494339b9f as `$CI_COMMIT_BEFORE_SHA`. But that's not the case according to CI logs https://gitlab.com/dashpay/dash/-/jobs/8179463810#L38
```
PULL_REQUEST=false COMMIT_RANGE=4d1b648bad417ef9b1c5a96edfa04b0e382f096f..860f6ee48f61f0b670b21ef142d13ae02d3cc50a HOST_SRC_DIR=/builds/dashpay/dash CACHE_DIR=/builds/dashpay/dash/cache
```
The commit range is just 1 commit instead of 3 and this results in incomplete CI checks. This happens because only branches with special refs like `pr-xxxx/author/dash/branch` are considered as pull requests.
## What was done?
Reverse the check - protected branches are the only non-PRs now, everything else is treated as PRs
## 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:
PastaPastaPasta:
utACK 6f88c070d96009b6a722a72f50caa84bd66b16b6; seems fine
Tree-SHA512: 2fbba9b3cec04093bace838702397253c60d4aa5e670602807aa9f2ba2ff36d7e561f70912b331a554fd1dbaf8eaf30288ce5df19b316feadec2d903b1f4a11c