Compare commits

...

6 Commits

6 changed files with 53 additions and 6 deletions

View File

@@ -93,7 +93,7 @@ Dates are provided in the format YYYY-MM-DD.
| 160,777 | 2019-11-20 | Gaping Goatse | v0.7.0.0 | v0.7.1.0 | Only allow >= 2 outputs, change to the block median used to calculate penalty, rct sigs in coinbase forbidden, 4 unlock time as protocol rule
| - | 2020-06-28 | Hallucinogenic Hypnotoad | v0.8.0.0 | v0.8.0.2 | Dandelion++ support
| 253,999 | 2020-10-09 | Illiterate Illuminati | v0.9.0.0 | v0.9.3.3 | Dynamic coinbase unlock (up to 1 mo.), Deterministic unlock times, Enforce maximum coinbase amount, show_qr_code wallet command, CLSAG
| 331,170 | 2021-07-04 | Junkie Jeff | v0.10.0.0 | v0.10.2.0 | Bulletproofs+, Miner Block Header Signing, Vote by Block, Change coinbase unlock time to 1 day, Reset difficulty and switch back to Monero's difficulty algorithm
| 331,170 | 2021-07-04 | Junkie Jeff | v0.10.0.0 | v0.10.2.1 | Bulletproofs+, Miner Block Header Signing, Vote by Block, Change coinbase unlock time to 1 day, Reset difficulty and switch back to Monero's difficulty algorithm
| XXX,XXX | 2023-XX-XX | Kunty Karen | v0.11.0.0 | v0.11.0.0 | View tags, fee changes, adjusted dynamic block weight algorithm, multisig security fixes, RPC broadcast node donation sub-address
X's indicate that these details have not been determined as of commit date.

View File

@@ -1,5 +1,5 @@
#define DEF_MONERO_VERSION_TAG "@VERSIONTAG@"
#define DEF_MONERO_VERSION "0.10.2.0"
#define DEF_MONERO_VERSION "0.10.2.1"
#define DEF_MONERO_RELEASE_NAME "Junkie Jeff"
#define DEF_MONERO_VERSION_FULL DEF_MONERO_VERSION "-" DEF_MONERO_VERSION_TAG
#define DEF_MONERO_VERSION_IS_RELEASE @VERSION_IS_RELEASE@

View File

@@ -2376,9 +2376,24 @@ bool WalletImpl::checkReserveProof(const std::string &address, const std::string
}
}
std::string WalletImpl::signMessage(const std::string &message)
std::string WalletImpl::signMessage(const std::string &message, const std::string &address)
{
return m_wallet->sign(message, tools::wallet2::sign_with_spend_key);
if (address.empty()) {
return m_wallet->sign(message, tools::wallet2::sign_with_spend_key);
}
cryptonote::address_parse_info info;
if (!cryptonote::get_account_address_from_str(info, m_wallet->nettype(), address)) {
setStatusError(tr("Failed to parse address"));
return "";
}
auto index = m_wallet->get_subaddress_index(info.address);
if (!index) {
setStatusError(tr("Address doesn't belong to the wallet"));
return "";
}
return m_wallet->sign(message, tools::wallet2::sign_with_spend_key, *index);
}
bool WalletImpl::verifySignedMessage(const std::string &message, const std::string &address, const std::string &signature) const
@@ -2897,6 +2912,17 @@ void WalletImpl::deviceShowAddress(uint32_t accountIndex, uint32_t addressIndex,
m_wallet->device_show_address(accountIndex, addressIndex, payment_id_param);
}
uint64_t WalletImpl::getBytesReceived()
{
return m_wallet->get_bytes_received();
}
uint64_t WalletImpl::getBytesSent()
{
return m_wallet->get_bytes_sent();
}
} // namespace
namespace Bitmonero = Monero;

View File

@@ -232,7 +232,7 @@ public:
virtual bool checkSpendProof(const std::string &txid, const std::string &message, const std::string &signature, bool &good) const override;
virtual std::string getReserveProof(bool all, uint32_t account_index, uint64_t amount, const std::string &message) const override;
virtual bool checkReserveProof(const std::string &address, const std::string &message, const std::string &signature, bool &good, uint64_t &total, uint64_t &spent) const override;
virtual std::string signMessage(const std::string &message) override;
virtual std::string signMessage(const std::string &message, const std::string &address) override;
virtual bool verifySignedMessage(const std::string &message, const std::string &address, const std::string &signature) const override;
virtual std::string signMultisigParticipant(const std::string &message) const override;
virtual bool verifyMessageWithPublicKey(const std::string &message, const std::string &publicKey, const std::string &signature) const override;
@@ -257,6 +257,8 @@ public:
virtual bool isKeysFileLocked() override;
virtual uint64_t coldKeyImageSync(uint64_t &spent, uint64_t &unspent) override;
virtual void deviceShowAddress(uint32_t accountIndex, uint32_t addressIndex, const std::string &paymentId) override;
virtual uint64_t getBytesReceived() override;
virtual uint64_t getBytesSent() override;
private:
void clearStatus() const;

View File

@@ -1145,7 +1145,7 @@ struct Wallet
* \param address - the address to make the signature with, defaults to primary address (optional)
* \return the signature, empty string if the address is invalid or does not belong to the wallet
*/
virtual std::string signMessage(const std::string &message) = 0;
virtual std::string signMessage(const std::string &message, const std::string &address = "") = 0;
/*!
* \brief verifySignedMessage - verify a signature matches a given message
* \param message - the message (arbitrary byte data)
@@ -1237,6 +1237,12 @@ struct Wallet
//! shows address on device display
virtual void deviceShowAddress(uint32_t accountIndex, uint32_t addressIndex, const std::string &paymentId) = 0;
//! get bytes received
virtual uint64_t getBytesReceived() = 0;
//! get bytes sent
virtual uint64_t getBytesSent() = 0;
};
/**

View File

@@ -0,0 +1,13 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEY9UIIhYJKwYBBAHaRw8BAQdAQNW4+jegC72+h1Jng5HIZdcta8AXvLjqDbPu
x04GMZ+0Cl94eGZlZGV4eF+IlgQTFggAPhYhBPC94xBR60fuh1lEdlD3mjln1k1F
BQJj1QgiAhsDBQkDoBgOBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEFD3mjln
1k1FuGwBANy7MDaZJhSAJaRYFBQ/axrcNYR54ZK99S+q2vWjQplMAP9hIujNCsVh
5W1N1RdnU5H8C/2mu5UT5A0Qhhtrdc6ID7g4BGPVCCISCisGAQQBl1UBBQEBB0DN
6gtj60hSEx0Q3wpBv//mcnGDhmZ6Y43J7lPABStXEwMBCAeIfgQYFggAJhYhBPC9
4xBR60fuh1lEdlD3mjln1k1FBQJj1QgiAhsMBQkDoBgOAAoJEFD3mjln1k1Fu8sB
AP5UEdCmHpkzgJUjghfs73Z0c8RKWhfbKVFsEAwbR4m3AQDk9qJVnkBPOy889kgk
PUhwY4sWBBEEwc5uggucGpTiBQ==
=bthi
-----END PGP PUBLIC KEY BLOCK-----