aboutsummaryrefslogtreecommitdiff
path: root/src/wallet/api/wallet.cpp
diff options
context:
space:
mode:
authorluigi1111 <luigi1111w@gmail.com>2024-05-20 22:35:57 -0500
committerluigi1111 <luigi1111w@gmail.com>2024-05-20 22:35:57 -0500
commit3a47cdad13fd8486b7d5559ec004ff49b3b3aa6d (patch)
tree36f61d20bad25b72e830274547509bbbbd5b625a /src/wallet/api/wallet.cpp
parentMerge pull request #9243 (diff)
parentreplace 'multisig()' with 'get_multisig_status()' using multisig_account_stat... (diff)
downloadmonero-3a47cdad13fd8486b7d5559ec004ff49b3b3aa6d.tar.xz
Merge pull request #7852
8d94d08 replace 'multisig()' with 'get_multisig_status()' using multisig_account_status and including '.kex_is_done' member (koe)
Diffstat (limited to 'src/wallet/api/wallet.cpp')
-rw-r--r--src/wallet/api/wallet.cpp29
1 files changed, 19 insertions, 10 deletions
diff --git a/src/wallet/api/wallet.cpp b/src/wallet/api/wallet.cpp
index 7f4dbbc79..572079182 100644
--- a/src/wallet/api/wallet.cpp
+++ b/src/wallet/api/wallet.cpp
@@ -38,6 +38,7 @@
#include "subaddress_account.h"
#include "common_defines.h"
#include "common/util.h"
+#include "multisig/multisig_account.h"
#include "mnemonics/electrum-words.h"
#include "mnemonics/english.h"
@@ -87,12 +88,13 @@ namespace {
throw runtime_error("Wallet is not initialized yet");
}
- bool ready;
- if (!wallet->multisig(&ready)) {
+ const multisig::multisig_account_status ms_status{wallet->get_multisig_status()};
+
+ if (!ms_status.multisig_is_active) {
throw runtime_error("Wallet is not multisig");
}
- if (!ready) {
+ if (!ms_status.is_ready) {
throw runtime_error("Multisig wallet is not finalized yet");
}
}
@@ -105,12 +107,13 @@ namespace {
throw runtime_error("Wallet is not initialized yet");
}
- bool ready;
- if (!wallet->multisig(&ready)) {
+ const multisig::multisig_account_status ms_status{wallet->get_multisig_status()};
+
+ if (!ms_status.multisig_is_active) {
throw runtime_error("Wallet is not multisig");
}
- if (ready) {
+ if (ms_status.is_ready) {
throw runtime_error("Multisig wallet is already finalized");
}
}
@@ -1297,7 +1300,13 @@ void WalletImpl::setSubaddressLabel(uint32_t accountIndex, uint32_t addressIndex
MultisigState WalletImpl::multisig() const {
MultisigState state;
- state.isMultisig = m_wallet->multisig(&state.isReady, &state.threshold, &state.total);
+ const multisig::multisig_account_status ms_status{m_wallet->get_multisig_status()};
+
+ state.isMultisig = ms_status.multisig_is_active;
+ state.kexIsDone = ms_status.kex_is_done;
+ state.isReady = ms_status.is_ready;
+ state.threshold = ms_status.threshold;
+ state.total = ms_status.total;
return state;
}
@@ -1318,7 +1327,7 @@ string WalletImpl::makeMultisig(const vector<string>& info, const uint32_t thres
try {
clearStatus();
- if (m_wallet->multisig()) {
+ if (m_wallet->get_multisig_status().multisig_is_active) {
throw runtime_error("Wallet is already multisig");
}
@@ -2053,8 +2062,8 @@ std::string WalletImpl::signMultisigParticipant(const std::string &message) cons
{
clearStatus();
- bool ready = false;
- if (!m_wallet->multisig(&ready) || !ready) {
+ const multisig::multisig_account_status ms_status{m_wallet->get_multisig_status()};
+ if (!ms_status.multisig_is_active || !ms_status.is_ready) {
m_status = Status_Error;
m_errorString = tr("The wallet must be in multisig ready state");
return {};