Skip to content

Commit e8949c8

Browse files
committed
refactor: move CSimplifiedMNListDiffs::ToJson to evo/core_write
1 parent 7a549c4 commit e8949c8

File tree

2 files changed

+95
-95
lines changed

2 files changed

+95
-95
lines changed

src/evo/core_write.cpp

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include <evo/mnhftx.h>
99
#include <evo/netinfo.h>
1010
#include <evo/providertx.h>
11+
#include <evo/simplifiedmns.h>
1112
#include <llmq/commitment.h>
1213

1314
#include <univalue.h>
@@ -149,3 +150,97 @@
149150
ret.pushKV("commitment", commitment.ToJson());
150151
return ret;
151152
}
153+
154+
[[nodiscard]] UniValue CSimplifiedMNListEntry::ToJson(bool extended) const
155+
{
156+
UniValue obj(UniValue::VOBJ);
157+
obj.pushKV("nVersion", nVersion);
158+
obj.pushKV("nType", ToUnderlying(nType));
159+
obj.pushKV("proRegTxHash", proRegTxHash.ToString());
160+
obj.pushKV("confirmedHash", confirmedHash.ToString());
161+
if (IsServiceDeprecatedRPCEnabled()) {
162+
obj.pushKV("service", netInfo->GetPrimary().ToStringAddrPort());
163+
}
164+
obj.pushKV("addresses", netInfo->ToJson());
165+
obj.pushKV("pubKeyOperator", pubKeyOperator.ToString());
166+
obj.pushKV("votingAddress", EncodeDestination(PKHash(keyIDVoting)));
167+
obj.pushKV("isValid", isValid);
168+
if (nType == MnType::Evo) {
169+
obj.pushKV("platformHTTPPort", platformHTTPPort);
170+
obj.pushKV("platformNodeID", platformNodeID.ToString());
171+
}
172+
173+
if (extended) {
174+
CTxDestination dest;
175+
if (ExtractDestination(scriptPayout, dest)) {
176+
obj.pushKV("payoutAddress", EncodeDestination(dest));
177+
}
178+
if (ExtractDestination(scriptOperatorPayout, dest)) {
179+
obj.pushKV("operatorPayoutAddress", EncodeDestination(dest));
180+
}
181+
}
182+
return obj;
183+
}
184+
185+
[[nodiscard]] UniValue CSimplifiedMNListDiff::ToJson(bool extended) const
186+
{
187+
UniValue obj(UniValue::VOBJ);
188+
189+
obj.pushKV("nVersion", nVersion);
190+
obj.pushKV("baseBlockHash", baseBlockHash.ToString());
191+
obj.pushKV("blockHash", blockHash.ToString());
192+
193+
CDataStream ssCbTxMerkleTree(SER_NETWORK, PROTOCOL_VERSION);
194+
ssCbTxMerkleTree << cbTxMerkleTree;
195+
obj.pushKV("cbTxMerkleTree", HexStr(ssCbTxMerkleTree));
196+
197+
obj.pushKV("cbTx", EncodeHexTx(*cbTx));
198+
199+
UniValue deletedMNsArr(UniValue::VARR);
200+
for (const auto& h : deletedMNs) {
201+
deletedMNsArr.push_back(h.ToString());
202+
}
203+
obj.pushKV("deletedMNs", deletedMNsArr);
204+
205+
UniValue mnListArr(UniValue::VARR);
206+
for (const auto& e : mnList) {
207+
mnListArr.push_back(e.ToJson(extended));
208+
}
209+
obj.pushKV("mnList", mnListArr);
210+
211+
UniValue deletedQuorumsArr(UniValue::VARR);
212+
for (const auto& e : deletedQuorums) {
213+
UniValue eObj(UniValue::VOBJ);
214+
eObj.pushKV("llmqType", e.first);
215+
eObj.pushKV("quorumHash", e.second.ToString());
216+
deletedQuorumsArr.push_back(eObj);
217+
}
218+
obj.pushKV("deletedQuorums", deletedQuorumsArr);
219+
220+
UniValue newQuorumsArr(UniValue::VARR);
221+
for (const auto& e : newQuorums) {
222+
newQuorumsArr.push_back(e.ToJson());
223+
}
224+
obj.pushKV("newQuorums", newQuorumsArr);
225+
226+
// Do not assert special tx type here since this can be called prior to DIP0003 activation
227+
if (const auto opt_cbTxPayload = GetTxPayload<CCbTx>(*cbTx, /*assert_type=*/false)) {
228+
obj.pushKV("merkleRootMNList", opt_cbTxPayload->merkleRootMNList.ToString());
229+
if (opt_cbTxPayload->nVersion >= CCbTx::Version::MERKLE_ROOT_QUORUMS) {
230+
obj.pushKV("merkleRootQuorums", opt_cbTxPayload->merkleRootQuorums.ToString());
231+
}
232+
}
233+
234+
UniValue quorumsCLSigsArr(UniValue::VARR);
235+
for (const auto& [signature, quorumsIndexes] : quorumsCLSigs) {
236+
UniValue j(UniValue::VOBJ);
237+
UniValue idxArr(UniValue::VARR);
238+
for (const auto& idx : quorumsIndexes) {
239+
idxArr.push_back(idx);
240+
}
241+
j.pushKV(signature.ToString(), idxArr);
242+
quorumsCLSigsArr.push_back(j);
243+
}
244+
obj.pushKV("quorumsCLSigs", quorumsCLSigsArr);
245+
return obj;
246+
}

src/evo/simplifiedmns.cpp

Lines changed: 0 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
#include <pubkey.h>
1919
#include <serialize.h>
20-
#include <version.h>
2120

2221
#include <base58.h>
2322
#include <chainparams.h>
@@ -74,37 +73,6 @@ std::string CSimplifiedMNListEntry::ToString() const
7473
operatorPayoutAddress, platformHTTPPort, platformNodeID.ToString(), netInfo->ToString());
7574
}
7675

77-
UniValue CSimplifiedMNListEntry::ToJson(bool extended) const
78-
{
79-
UniValue obj(UniValue::VOBJ);
80-
obj.pushKV("nVersion", nVersion);
81-
obj.pushKV("nType", ToUnderlying(nType));
82-
obj.pushKV("proRegTxHash", proRegTxHash.ToString());
83-
obj.pushKV("confirmedHash", confirmedHash.ToString());
84-
if (IsServiceDeprecatedRPCEnabled()) {
85-
obj.pushKV("service", netInfo->GetPrimary().ToStringAddrPort());
86-
}
87-
obj.pushKV("addresses", netInfo->ToJson());
88-
obj.pushKV("pubKeyOperator", pubKeyOperator.ToString());
89-
obj.pushKV("votingAddress", EncodeDestination(PKHash(keyIDVoting)));
90-
obj.pushKV("isValid", isValid);
91-
if (nType == MnType::Evo) {
92-
obj.pushKV("platformHTTPPort", platformHTTPPort);
93-
obj.pushKV("platformNodeID", platformNodeID.ToString());
94-
}
95-
96-
if (extended) {
97-
CTxDestination dest;
98-
if (ExtractDestination(scriptPayout, dest)) {
99-
obj.pushKV("payoutAddress", EncodeDestination(dest));
100-
}
101-
if (ExtractDestination(scriptOperatorPayout, dest)) {
102-
obj.pushKV("operatorPayoutAddress", EncodeDestination(dest));
103-
}
104-
}
105-
return obj;
106-
}
107-
10876
CSimplifiedMNList::CSimplifiedMNList(const std::vector<CSimplifiedMNListEntry>& smlEntries)
10977
{
11078
mnList.reserve(smlEntries.size());
@@ -243,69 +211,6 @@ bool CSimplifiedMNListDiff::BuildQuorumChainlockInfo(const llmq::CQuorumManager&
243211
return true;
244212
}
245213

246-
UniValue CSimplifiedMNListDiff::ToJson(bool extended) const
247-
{
248-
UniValue obj(UniValue::VOBJ);
249-
250-
obj.pushKV("nVersion", nVersion);
251-
obj.pushKV("baseBlockHash", baseBlockHash.ToString());
252-
obj.pushKV("blockHash", blockHash.ToString());
253-
254-
CDataStream ssCbTxMerkleTree(SER_NETWORK, PROTOCOL_VERSION);
255-
ssCbTxMerkleTree << cbTxMerkleTree;
256-
obj.pushKV("cbTxMerkleTree", HexStr(ssCbTxMerkleTree));
257-
258-
obj.pushKV("cbTx", EncodeHexTx(*cbTx));
259-
260-
UniValue deletedMNsArr(UniValue::VARR);
261-
for (const auto& h : deletedMNs) {
262-
deletedMNsArr.push_back(h.ToString());
263-
}
264-
obj.pushKV("deletedMNs", deletedMNsArr);
265-
266-
UniValue mnListArr(UniValue::VARR);
267-
for (const auto& e : mnList) {
268-
mnListArr.push_back(e.ToJson(extended));
269-
}
270-
obj.pushKV("mnList", mnListArr);
271-
272-
UniValue deletedQuorumsArr(UniValue::VARR);
273-
for (const auto& e : deletedQuorums) {
274-
UniValue eObj(UniValue::VOBJ);
275-
eObj.pushKV("llmqType", e.first);
276-
eObj.pushKV("quorumHash", e.second.ToString());
277-
deletedQuorumsArr.push_back(eObj);
278-
}
279-
obj.pushKV("deletedQuorums", deletedQuorumsArr);
280-
281-
UniValue newQuorumsArr(UniValue::VARR);
282-
for (const auto& e : newQuorums) {
283-
newQuorumsArr.push_back(e.ToJson());
284-
}
285-
obj.pushKV("newQuorums", newQuorumsArr);
286-
287-
// Do not assert special tx type here since this can be called prior to DIP0003 activation
288-
if (const auto opt_cbTxPayload = GetTxPayload<CCbTx>(*cbTx, /*assert_type=*/false)) {
289-
obj.pushKV("merkleRootMNList", opt_cbTxPayload->merkleRootMNList.ToString());
290-
if (opt_cbTxPayload->nVersion >= CCbTx::Version::MERKLE_ROOT_QUORUMS) {
291-
obj.pushKV("merkleRootQuorums", opt_cbTxPayload->merkleRootQuorums.ToString());
292-
}
293-
}
294-
295-
UniValue quorumsCLSigsArr(UniValue::VARR);
296-
for (const auto& [signature, quorumsIndexes] : quorumsCLSigs) {
297-
UniValue j(UniValue::VOBJ);
298-
UniValue idxArr(UniValue::VARR);
299-
for (const auto& idx : quorumsIndexes) {
300-
idxArr.push_back(idx);
301-
}
302-
j.pushKV(signature.ToString(),idxArr);
303-
quorumsCLSigsArr.push_back(j);
304-
}
305-
obj.pushKV("quorumsCLSigs", quorumsCLSigsArr);
306-
return obj;
307-
}
308-
309214
CSimplifiedMNListDiff BuildSimplifiedDiff(const CDeterministicMNList& from, const CDeterministicMNList& to, bool extended)
310215
{
311216
CSimplifiedMNListDiff diffRet;

0 commit comments

Comments
 (0)