diff --git a/src/wallet/api/wallet.cpp b/src/wallet/api/wallet.cpp index 19185ddb0..908e2db2e 100644 --- a/src/wallet/api/wallet.cpp +++ b/src/wallet/api/wallet.cpp @@ -778,6 +778,16 @@ std::string WalletImpl::publicSpendKey() const return epee::string_tools::pod_to_hex(m_wallet->get_account().get_keys().m_account_address.m_spend_public_key); } +std::string WalletImpl::publicMultisigSignerKey() const +{ + try { + crypto::public_key signer = m_wallet->get_multisig_signer_public_key(); + return epee::string_tools::pod_to_hex(signer); + } catch (const std::exception&) { + return ""; + } +} + std::string WalletImpl::path() const { return m_wallet->path(); diff --git a/src/wallet/api/wallet.h b/src/wallet/api/wallet.h index d2b4cd506..813ca4b30 100644 --- a/src/wallet/api/wallet.h +++ b/src/wallet/api/wallet.h @@ -91,6 +91,7 @@ public: std::string publicViewKey() const; std::string secretSpendKey() const; std::string publicSpendKey() const; + std::string publicMultisigSignerKey() const; std::string path() const; bool store(const std::string &path); std::string filename() const; diff --git a/src/wallet/api/wallet2_api.h b/src/wallet/api/wallet2_api.h index d0c4b36b9..5b99bd975 100644 --- a/src/wallet/api/wallet2_api.h +++ b/src/wallet/api/wallet2_api.h @@ -443,6 +443,12 @@ struct Wallet */ virtual std::string publicSpendKey() const = 0; + /*! + * \brief publicMultisigSignerKey - returns public signer key + * \return - public multisignature signer key or empty string if wallet is not multisig + */ + virtual std::string publicMultisigSignerKey() const = 0; + /*! * \brief store - stores wallet to file. * \param path - main filename to store wallet to. additionally stores address file and keys file.