Skip to content

Commit ef4ddc7

Browse files
Merge dashpay#6614: [v22.1.x] backport: backport to and release 22.1.2
8b4ab03 fix: suppress MIN_MASTERNODE_PROTO_VERSION bump in 6608 (pasta) aca04d1 chore: bump build to 22.1.2 (pasta) d9d8c24 docs: add release notes for 22.1.2 (pasta) fb45240 Merge dashpay#6608: fix: `cycleHash` should represent a cycle starting block of the signing quorum (pasta) 9d1498c Merge dashpay#6625: fix: adjust quorum rotation data results in some edge cases, add tests (pasta) dfc1119 Merge dashpay#6622: fix: efficient build mnlistdiffs in rotation info (pasta) 6fd626b Merge dashpay#6586: fix: revert deployment images back to Ubuntu 22.04 LTS (`jammy`), pin QEMU to avoid segfault (pasta) affa9d1 Merge dashpay#6599: fix: follow-up dashpay#6546 to bump copyright year in COPYING and debian's package (pasta) f6163a2 Merge dashpay#6593: fix: resolve potential deadlock in coinjoin_tests (pasta) 243e0ab Merge dashpay#6585: fix: Do not assert special tx type for cbtx in simplified mn list diff output (pasta) 497f95c Merge dashpay#6581: perf: speedup of CBLSLazyPublicKey::operator== when comparing to the default / null object; speedup CDeterministicMNList::AddMN by avoiding check to IsValid when a nullcheck is sufficient (pasta) Pull request description: ## Issue being fixed or feature implemented Backports for a new version, v22.1.2 ## What was done? See release notes ## How Has This Been Tested? ## 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 8b4ab03 knst: utACK 8b4ab03 Tree-SHA512: 9f2f65e315940197cc2b75a6b0a858d624256cbe668272ff6dfa216eceda1ba9338484d47afc569202b3b5cc75b4dcb825209efe3a3d3ccec57c741f75c40577
2 parents 0f62391 + 8b4ab03 commit ef4ddc7

File tree

19 files changed

+447
-69
lines changed

19 files changed

+447
-69
lines changed

.github/workflows/release_docker_hub.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@ jobs:
1313
uses: actions/checkout@v3
1414

1515
- name: Set up QEMU
16-
uses: docker/setup-qemu-action@v2
16+
uses: docker/setup-qemu-action@v3
17+
with:
18+
image: tonistiigi/binfmt:qemu-v7.0.0-28
1719

1820
- name: Set up Docker Buildx
1921
uses: docker/setup-buildx-action@v2

COPYING

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
The MIT License (MIT)
22

3-
Copyright (c) 2009-2024 The Bitcoin Core developers
4-
Copyright (c) 2009-2024 Bitcoin Developers
5-
Copyright (c) 2014-2024 The Dash Core developers
3+
Copyright (c) 2009-2025 The Bitcoin Core developers
4+
Copyright (c) 2009-2025 Bitcoin Developers
5+
Copyright (c) 2014-2025 The Dash Core developers
66

77
Permission is hereby granted, free of charge, to any person obtaining a copy
88
of this software and associated documentation files (the "Software"), to deal

configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ AC_PREREQ([2.69])
22
dnl Don't forget to push a corresponding tag when updating any of _CLIENT_VERSION_* numbers
33
define(_CLIENT_VERSION_MAJOR, 22)
44
define(_CLIENT_VERSION_MINOR, 1)
5-
define(_CLIENT_VERSION_BUILD, 1)
5+
define(_CLIENT_VERSION_BUILD, 2)
66
define(_CLIENT_VERSION_IS_RELEASE, true)
77
define(_COPYRIGHT_YEAR, 2025)
88
define(_COPYRIGHT_HOLDERS,[The %s developers])

contrib/debian/copyright

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ Upstream-Contact: Dash Core Group, Inc https://www.dash.org/dcg/
44
Source: https://github.com/dashpay/dash
55

66
Files: *
7-
Copyright: 2009-2024, Bitcoin Core Developers,
8-
2019-2024, Dash Core Developers
7+
Copyright: 2009-2025, Bitcoin Core Developers,
8+
2019-2025, Dash Core Developers
99
License: Expat
1010
Comment: The Bitcoin Core Developers encompasses the current developers listed on bitcoin.org,
1111
as well as the numerous contributors to the project. The Dash Core Developers

doc/release-notes.md

Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Dash Core version v22.1.1
1+
# Dash Core version v22.1.2
22

3-
This is a new minor version release, bringing various bugfixes.
3+
This is a new minor version release, bringing various bugfixes and performance improvements.
44
This release is **optional** for all nodes, although recommended.
55

66
Please report bugs using the issue tracker at GitHub:
@@ -26,25 +26,49 @@ likely require a reindex.
2626

2727
# Release Notes
2828

29-
v2 P2P Downgrade Issues
30-
-----------------------
29+
Quorum Rotation Improvements
30+
----------------------------
3131

32-
This version addressed a problem affecting certain Dash-specific connection types, including mixing and masternode probes, when
33-
downgrading from v2 to v1 connections. This resulted in increased connection count and load for masternodes. (dash#6574)
32+
- Optimized `quorum rotationinfo` RPC and `GETQUORUMROTATIONINFO` P2P message by constructing diffs progressively from oldest to newest, reducing redundancy and improving efficiency (dash#6622).
33+
- Fixed incorrect `baseBlockHash` handling, eliminating unnecessary quorum changes in responses and improving result accuracy and compactness (dash#6625).
3434

35-
Minor QT Coinjoin Fixes
35+
Deployment and CI Fixes
3636
-----------------------
3737

38-
- Avoid leaking CJ related balances in discrete mode (dash#6566)
38+
- Pinned QEMU version to avoid segmentation faults during container builds (dash#6586).
39+
40+
Performance Improvements
41+
------------------------
42+
43+
- Improved the performance of deterministic masternode list management, significantly speeding up RPC calls such as `protx diff` (dash#6581).
44+
45+
Coinjoin Tests Stability
46+
------------------------
47+
48+
- Resolved potential deadlock in `coinjoin_tests.cpp` by ensuring wallet transaction scans occur outside critical wallet lock scope (dash#6593).
49+
50+
Minor Build and Test Fixes
51+
--------------------------
52+
53+
- Fixed assertion edge case for coinbase transactions (cbtx) in simplified masternode list diff outputs, specifically affecting debug builds (dash#6585).
54+
- Updated copyright notices to 2025 in COPYING file and Debian packaging metadata (dash#6599).
55+
56+
P2P Changes
57+
-----------
58+
59+
- `cycleHash` field in `isdlock` message will now represent a DKG cycle starting block of the signing quorum instead of a DKG cycle starting block corresponding to the current chain height. While this is fully backwards compatible with older versions of Dash Core, other implementations might not be expecting this, so the P2P protocol version was bumped to 70237. (#6608)
3960

40-
# v22.1.1 Change log
61+
# v22.1.2 Change log
4162

4263
See detailed [set of changes][set-of-changes].
4364

4465
# Credits
4566

4667
Thanks to everyone who directly contributed to this release:
4768

69+
- Kittywhiskers Van Gogh
70+
- Konstantin Akimov
71+
- Odysseas Gabrielides
4872
- PastaPastaPasta
4973
- UdjinM6
5074

@@ -55,6 +79,7 @@ debug the release candidates.
5579

5680
These releases are considered obsolete. Old release notes can be found here:
5781

82+
- [v22.1.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-22.1.1.md) released Feb/17/2025
5883
- [v22.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-22.1.0.md) released Feb/10/2025
5984
- [v22.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-22.0.0.md) released Dec/12/2024
6085
- [v21.1.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.1.1.md) released Oct/22/2024
@@ -110,4 +135,4 @@ These releases are considered obsolete. Old release notes can be found here:
110135
- [v0.10.x](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.10.0.md) released Sep/25/2014
111136
- [v0.9.x](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.9.0.md) released Mar/13/2014
112137

113-
[set-of-changes]: https://github.com/dashpay/dash/compare/v22.1.0...dashpay:v22.1.1
138+
[set-of-changes]: https://github.com/dashpay/dash/compare/v22.1.1...dashpay:v22.1.2
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
# Dash Core version v22.1.1
2+
3+
This is a new minor version release, bringing various bugfixes.
4+
This release is **optional** for all nodes, although recommended.
5+
6+
Please report bugs using the issue tracker at GitHub:
7+
8+
<https://github.com/dashpay/dash/issues>
9+
10+
11+
# Upgrading and downgrading
12+
13+
## How to Upgrade
14+
15+
If you are running an older version, shut it down. Wait until it has completely
16+
shut down (which might take a few minutes for older versions), then run the
17+
installer (on Windows) or just copy over /Applications/Dash-Qt (on Mac) or
18+
dashd/dash-qt (on Linux).
19+
20+
## Downgrade warning
21+
22+
### Downgrade to a version < v22.0.0
23+
24+
Downgrading to a version older than v22.0.0 may not be supported, and will
25+
likely require a reindex.
26+
27+
# Release Notes
28+
29+
v2 P2P Downgrade Issues
30+
-----------------------
31+
32+
This version addressed a problem affecting certain Dash-specific connection types, including mixing and masternode probes, when
33+
downgrading from v2 to v1 connections. This resulted in increased connection count and load for masternodes. (dash#6574)
34+
35+
Minor QT Coinjoin Fixes
36+
-----------------------
37+
38+
- Avoid leaking CJ related balances in discrete mode (dash#6566)
39+
40+
# v22.1.1 Change log
41+
42+
See detailed [set of changes][set-of-changes].
43+
44+
# Credits
45+
46+
Thanks to everyone who directly contributed to this release:
47+
48+
- PastaPastaPasta
49+
- UdjinM6
50+
51+
As well as everyone that submitted issues, reviewed pull requests and helped
52+
debug the release candidates.
53+
54+
# Older releases
55+
56+
These releases are considered obsolete. Old release notes can be found here:
57+
58+
- [v22.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-22.1.0.md) released Feb/10/2025
59+
- [v22.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-22.0.0.md) released Dec/12/2024
60+
- [v21.1.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.1.1.md) released Oct/22/2024
61+
- [v21.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.1.0.md) released Aug/8/2024
62+
- [v21.0.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.0.2.md) released Aug/1/2024
63+
- [v21.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.0.0.md) released Jul/25/2024
64+
- [v20.1.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-20.1.1.md) released April/3/2024
65+
- [v20.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-20.1.0.md) released March/5/2024
66+
- [v20.0.4](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-20.0.4.md) released Jan/13/2024
67+
- [v20.0.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-20.0.3.md) released December/26/2023
68+
- [v20.0.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-20.0.2.md) released December/06/2023
69+
- [v20.0.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-20.0.1.md) released November/18/2023
70+
- [v20.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-20.0.0.md) released November/15/2023
71+
- [v19.3.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-19.3.0.md) released July/31/2023
72+
- [v19.2.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-19.2.0.md) released June/19/2023
73+
- [v19.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-19.1.0.md) released May/22/2023
74+
- [v19.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-19.0.0.md) released Apr/14/2023
75+
- [v18.2.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.2.2.md) released Mar/21/2023
76+
- [v18.2.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.2.1.md) released Jan/17/2023
77+
- [v18.2.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.2.0.md) released Jan/01/2023
78+
- [v18.1.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.1.1.md) released January/08/2023
79+
- [v18.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.1.0.md) released October/09/2022
80+
- [v18.0.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.0.2.md) released October/09/2022
81+
- [v18.0.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.0.1.md) released August/17/2022
82+
- [v0.17.0.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.17.0.3.md) released June/07/2021
83+
- [v0.17.0.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.17.0.2.md) released May/19/2021
84+
- [v0.16.1.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.16.1.1.md) released November/17/2020
85+
- [v0.16.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.16.1.0.md) released November/14/2020
86+
- [v0.16.0.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.16.0.1.md) released September/30/2020
87+
- [v0.15.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.15.0.0.md) released Febrary/18/2020
88+
- [v0.14.0.5](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.5.md) released December/08/2019
89+
- [v0.14.0.4](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.4.md) released November/22/2019
90+
- [v0.14.0.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.3.md) released August/15/2019
91+
- [v0.14.0.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.2.md) released July/4/2019
92+
- [v0.14.0.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.1.md) released May/31/2019
93+
- [v0.14.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.md) released May/22/2019
94+
- [v0.13.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.3.md) released Apr/04/2019
95+
- [v0.13.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.2.md) released Mar/15/2019
96+
- [v0.13.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.1.md) released Feb/9/2019
97+
- [v0.13.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.0.md) released Jan/14/2019
98+
- [v0.12.3.4](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.3.4.md) released Dec/14/2018
99+
- [v0.12.3.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.3.3.md) released Sep/19/2018
100+
- [v0.12.3.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.3.2.md) released Jul/09/2018
101+
- [v0.12.3.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.3.1.md) released Jul/03/2018
102+
- [v0.12.2.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.2.3.md) released Jan/12/2018
103+
- [v0.12.2.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.2.2.md) released Dec/17/2017
104+
- [v0.12.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.2.md) released Nov/08/2017
105+
- [v0.12.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.1.md) released Feb/06/2017
106+
- [v0.12.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.0.md) released Aug/15/2015
107+
- [v0.11.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.11.2.md) released Mar/04/2015
108+
- [v0.11.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.11.1.md) released Feb/10/2015
109+
- [v0.11.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.11.0.md) released Jan/15/2015
110+
- [v0.10.x](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.10.0.md) released Sep/25/2014
111+
- [v0.9.x](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.9.0.md) released Mar/13/2014
112+
113+
[set-of-changes]: https://github.com/dashpay/dash/compare/v22.1.0...dashpay:v22.1.1

src/bls/bls.h

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -391,6 +391,7 @@ class CBLSLazyWrapper
391391
mutable std::mutex mutex;
392392

393393
mutable std::array<uint8_t, BLSObject::SerSize> vecBytes;
394+
// Indicates if the value contained in vecBytes is valid
394395
mutable bool bufValid{false};
395396
mutable bool bufLegacyScheme{true};
396397

@@ -462,7 +463,7 @@ class CBLSLazyWrapper
462463
{
463464
std::unique_lock<std::mutex> l(mutex);
464465
s.read(AsWritableBytes(Span{vecBytes.data(), BLSObject::SerSize}));
465-
bufValid = true;
466+
bufValid = std::any_of(vecBytes.begin(), vecBytes.end(), [](uint8_t c) { return c != 0; });
466467
bufLegacyScheme = specificLegacyScheme;
467468
objInitialized = false;
468469
hash.SetNull();
@@ -507,6 +508,14 @@ class CBLSLazyWrapper
507508

508509
bool operator==(const CBLSLazyWrapper& r) const
509510
{
511+
// If neither bufValid or objInitialized are set, then the object is the default object.
512+
const bool is_default{!bufValid && !objInitialized};
513+
const bool r_is_default{!r.bufValid && !r.objInitialized};
514+
// If both are default; they are equal.
515+
if (is_default && r_is_default) return true;
516+
// If one is default and the other isn't, we are not equal
517+
if (is_default != r_is_default) return false;
518+
510519
if (bufValid && r.bufValid && bufLegacyScheme == r.bufLegacyScheme) {
511520
return vecBytes == r.vecBytes;
512521
}

src/evo/deterministicmns.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -477,7 +477,7 @@ void CDeterministicMNList::AddMN(const CDeterministicMNCPtr& dmn, bool fBumpTota
477477
throw(std::runtime_error(strprintf("%s: Can't add a masternode %s with a duplicate keyIDOwner=%s", __func__,
478478
dmn->proTxHash.ToString(), EncodeDestination(PKHash(dmn->pdmnState->keyIDOwner)))));
479479
}
480-
if (dmn->pdmnState->pubKeyOperator.Get().IsValid() && !AddUniqueProperty(*dmn, dmn->pdmnState->pubKeyOperator)) {
480+
if (dmn->pdmnState->pubKeyOperator != CBLSLazyPublicKey() && !AddUniqueProperty(*dmn, dmn->pdmnState->pubKeyOperator)) {
481481
mnUniquePropertyMap = mnUniquePropertyMapSaved;
482482
throw(std::runtime_error(strprintf("%s: Can't add a masternode %s with a duplicate pubKeyOperator=%s", __func__,
483483
dmn->proTxHash.ToString(), dmn->pdmnState->pubKeyOperator.ToString())));
@@ -578,7 +578,8 @@ void CDeterministicMNList::RemoveMN(const uint256& proTxHash)
578578
throw(std::runtime_error(strprintf("%s: Can't delete a masternode %s with a keyIDOwner=%s", __func__,
579579
proTxHash.ToString(), EncodeDestination(PKHash(dmn->pdmnState->keyIDOwner)))));
580580
}
581-
if (dmn->pdmnState->pubKeyOperator.Get().IsValid() && !DeleteUniqueProperty(*dmn, dmn->pdmnState->pubKeyOperator)) {
581+
if (dmn->pdmnState->pubKeyOperator != CBLSLazyPublicKey() &&
582+
!DeleteUniqueProperty(*dmn, dmn->pdmnState->pubKeyOperator)) {
582583
mnUniquePropertyMap = mnUniquePropertyMapSaved;
583584
throw(std::runtime_error(strprintf("%s: Can't delete a masternode %s with a pubKeyOperator=%s", __func__,
584585
proTxHash.ToString(), dmn->pdmnState->pubKeyOperator.ToString())));
@@ -840,7 +841,8 @@ bool CDeterministicMNManager::BuildNewListFromBlock(const CBlock& block, gsl::no
840841
}
841842
if (newState->IsBanned()) {
842843
// only revive when all keys are set
843-
if (newState->pubKeyOperator.Get().IsValid() && !newState->keyIDVoting.IsNull() && !newState->keyIDOwner.IsNull()) {
844+
if (newState->pubKeyOperator != CBLSLazyPublicKey() && !newState->keyIDVoting.IsNull() &&
845+
!newState->keyIDOwner.IsNull()) {
844846
newState->Revive(nHeight);
845847
if (debugLogs) {
846848
LogPrintf("CDeterministicMNManager::%s -- MN %s revived at height %d\n",

src/evo/simplifiedmns.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,8 @@ UniValue CSimplifiedMNListDiff::ToJson(bool extended) const
279279
}
280280
obj.pushKV("newQuorums", newQuorumsArr);
281281

282-
if (const auto opt_cbTxPayload = GetTxPayload<CCbTx>(*cbTx)) {
282+
// Do not assert special tx type here since this can be called prior to DIP0003 activation
283+
if (const auto opt_cbTxPayload = GetTxPayload<CCbTx>(*cbTx, /*assert_type=*/false)) {
283284
obj.pushKV("merkleRootMNList", opt_cbTxPayload->merkleRootMNList.ToString());
284285
if (opt_cbTxPayload->nVersion >= CCbTx::Version::MERKLE_ROOT_QUORUMS) {
285286
obj.pushKV("merkleRootQuorums", opt_cbTxPayload->merkleRootQuorums.ToString());

0 commit comments

Comments
 (0)