Skip to content

Commit d3843cd

Browse files
committed
[Refactor] No need to get the publickey of the active masternode
Only the secret key and the collateral out are needed to vote/sign
1 parent 483f509 commit d3843cd

File tree

4 files changed

+11
-13
lines changed

4 files changed

+11
-13
lines changed

src/activemasternode.cpp

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ OperationResult CActiveDeterministicMasternodeManager::SetOperatorKey(const std:
6767
return OperationResult(true);
6868
}
6969

70-
OperationResult CActiveDeterministicMasternodeManager::GetOperatorKey(CBLSSecretKey& key, CBLSPublicKey& pubKey, CDeterministicMNCPtr& dmn) const
70+
OperationResult CActiveDeterministicMasternodeManager::GetOperatorKey(CBLSSecretKey& key, CDeterministicMNCPtr& dmn) const
7171
{
7272
if (!IsReady()) {
7373
return errorOut("Active masternode not ready");
@@ -79,9 +79,8 @@ OperationResult CActiveDeterministicMasternodeManager::GetOperatorKey(CBLSSecret
7979
if (info.pubKeyOperator != dmn->pdmnState->pubKeyOperator.Get()) {
8080
return errorOut("Active masternode operator key changed or revoked");
8181
}
82-
// return keys
82+
// return key
8383
key = info.keyOperator;
84-
pubKey = info.pubKeyOperator;
8584
return OperationResult(true);
8685
}
8786

@@ -467,13 +466,13 @@ void CActiveMasternode::GetKeys(CKey& _privKeyMasternode, CPubKey& _pubKeyMaster
467466
_pubKeyMasternode = pubKeyMasternode;
468467
}
469468

470-
bool GetActiveDMNKeys(CBLSSecretKey& key, CBLSPublicKey& pubkey, CTxIn& vin)
469+
bool GetActiveDMNKeys(CBLSSecretKey& key, CTxIn& vin)
471470
{
472471
if (activeMasternodeManager == nullptr) {
473472
return error("%s: Active Masternode not initialized", __func__);
474473
}
475474
CDeterministicMNCPtr dmn;
476-
auto res = activeMasternodeManager->GetOperatorKey(key, pubkey, dmn);
475+
auto res = activeMasternodeManager->GetOperatorKey(key, dmn);
477476
if (!res) {
478477
return error("%s: %s", __func__, res.getError());
479478
}
@@ -486,8 +485,7 @@ bool GetActiveMasternodeKeys(CTxIn& vin, Optional<CKey>& key, CBLSSecretKey& bls
486485
if (activeMasternodeManager != nullptr) {
487486
// deterministic mn
488487
key = nullopt;
489-
CBLSPublicKey pk;
490-
return GetActiveDMNKeys(blsKey, pk, vin);
488+
return GetActiveDMNKeys(blsKey, vin);
491489
}
492490
// legacy mn
493491
if (activeMasternode.vin == nullopt) {

src/activemasternode.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ class CActiveDeterministicMasternodeManager : public CValidationInterface
6565
OperationResult SetOperatorKey(const std::string& strMNOperatorPrivKey);
6666
// If the active masternode is ready, and the keyID matches with the registered one,
6767
// return private key, keyID, and pointer to dmn.
68-
OperationResult GetOperatorKey(CBLSSecretKey& key, CBLSPublicKey& pubkey, CDeterministicMNCPtr& dmn) const;
68+
OperationResult GetOperatorKey(CBLSSecretKey& key, CDeterministicMNCPtr& dmn) const;
6969
void SetNullProTx() { info.proTxHash = UINT256_ZERO; }
7070

7171
const CActiveMasternodeInfo* GetInfo() const { return &info; }
@@ -121,6 +121,6 @@ class CActiveMasternode
121121
// Compatibility code: get vin and keys for either legacy or deterministic masternode
122122
bool GetActiveMasternodeKeys(CTxIn& vin, Optional<CKey>& key, CBLSSecretKey& blsKey);
123123
// Get active masternode BLS operator keys for DMN
124-
bool GetActiveDMNKeys(CBLSSecretKey& key, CBLSPublicKey& pubkey, CTxIn& vin);
124+
bool GetActiveDMNKeys(CBLSSecretKey& key, CTxIn& vin);
125125

126126
#endif

src/rpc/budget.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -425,8 +425,8 @@ static mnKeyList getDMNKeysForActiveMasternode(UniValue& resultsObj)
425425
throw JSONRPCError(RPC_MISC_ERROR, _("This is not a deterministic masternode. 'local' option disabled."));
426426
}
427427

428-
CBLSSecretKey sk; CBLSPublicKey pk; CDeterministicMNCPtr dmn;
429-
auto res = activeMasternodeManager->GetOperatorKey(sk, pk, dmn);
428+
CBLSSecretKey sk; CDeterministicMNCPtr dmn;
429+
auto res = activeMasternodeManager->GetOperatorKey(sk, dmn);
430430
if (!res) {
431431
resultsObj.push_back(packErrorRetStatus("local", res.getError()));
432432
return {};

src/rpc/rpcevo.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -235,8 +235,8 @@ static CBLSSecretKey GetBLSSecretKey(const std::string& hexKey)
235235
return ParseBLSSecretKey(hexKey);
236236
}
237237
// If empty, get the active masternode key
238-
CBLSSecretKey sk; CBLSPublicKey pk; CTxIn vin;
239-
if (!GetActiveDMNKeys(sk, pk, vin)) {
238+
CBLSSecretKey sk; CTxIn vin;
239+
if (!GetActiveDMNKeys(sk, vin)) {
240240
throw JSONRPCError(RPC_INVALID_PARAMETER, "Active masternode key not found. Insert DMN operator private key.");
241241
}
242242
return sk;

0 commit comments

Comments
 (0)