mirror of
https://github.com/monero-project/monero.git
synced 2025-08-17 11:30:25 -04:00
wallet: do not split integrated addresses in address book api
This commit is contained in:
parent
59e7d5686b
commit
dd8c6b1703
8 changed files with 78 additions and 223 deletions
|
@ -196,7 +196,7 @@ namespace
|
|||
" account tag_description <tag_name> <description>");
|
||||
const char* USAGE_ADDRESS("address [ new <label text with white spaces allowed> | all | <index_min> [<index_max>] | label <index> <label text with white spaces allowed> | device [<index>]]");
|
||||
const char* USAGE_INTEGRATED_ADDRESS("integrated_address [device] [<payment_id> | <address>]");
|
||||
const char* USAGE_ADDRESS_BOOK("address_book [(add ((<address> [pid <id>])|<integrated address>) [<description possibly with whitespaces>])|(delete <index>)]");
|
||||
const char* USAGE_ADDRESS_BOOK("address_book [(add (<address>|<integrated address>) [<description possibly with whitespaces>])|(delete <index>)]");
|
||||
const char* USAGE_SET_VARIABLE("set <option> [<value>]");
|
||||
const char* USAGE_GET_TX_KEY("get_tx_key <txid>");
|
||||
const char* USAGE_SET_TX_KEY("set_tx_key <txid> <tx_key>");
|
||||
|
@ -9385,29 +9385,7 @@ bool simple_wallet::address_book(const std::vector<std::string> &args/* = std::v
|
|||
fail_msg_writer() << tr("failed to parse address");
|
||||
return true;
|
||||
}
|
||||
crypto::hash payment_id = crypto::null_hash;
|
||||
size_t description_start = 2;
|
||||
if (info.has_payment_id)
|
||||
{
|
||||
memcpy(payment_id.data, info.payment_id.data, 8);
|
||||
}
|
||||
else if (!info.has_payment_id && args.size() >= 4 && args[2] == "pid")
|
||||
{
|
||||
if (tools::wallet2::parse_long_payment_id(args[3], payment_id))
|
||||
{
|
||||
LONG_PAYMENT_ID_SUPPORT_CHECK();
|
||||
}
|
||||
else if (tools::wallet2::parse_short_payment_id(args[3], info.payment_id))
|
||||
{
|
||||
fail_msg_writer() << tr("Short payment IDs are to be used within an integrated address only");
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
fail_msg_writer() << tr("failed to parse payment ID");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
std::string description;
|
||||
for (size_t i = description_start; i < args.size(); ++i)
|
||||
{
|
||||
|
@ -9415,7 +9393,7 @@ bool simple_wallet::address_book(const std::vector<std::string> &args/* = std::v
|
|||
description += " ";
|
||||
description += args[i];
|
||||
}
|
||||
m_wallet->add_address_book_row(info.address, payment_id, description, info.is_subaddress);
|
||||
m_wallet->add_address_book_row(info.address, info.has_payment_id ? &info.payment_id : NULL, description, info.is_subaddress);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -9437,8 +9415,12 @@ bool simple_wallet::address_book(const std::vector<std::string> &args/* = std::v
|
|||
for (size_t i = 0; i < address_book.size(); ++i) {
|
||||
auto& row = address_book[i];
|
||||
success_msg_writer() << tr("Index: ") << i;
|
||||
success_msg_writer() << tr("Address: ") << get_account_address_as_str(m_wallet->nettype(), row.m_is_subaddress, row.m_address);
|
||||
success_msg_writer() << tr("Payment ID: ") << row.m_payment_id << " (OBSOLETE)";
|
||||
std::string address;
|
||||
if (row.m_has_payment_id)
|
||||
address = cryptonote::get_account_integrated_address_as_str(m_wallet->nettype(), row.m_address, row.m_payment_id);
|
||||
else
|
||||
address = get_account_address_as_str(m_wallet->nettype(), row.m_is_subaddress, row.m_address);
|
||||
success_msg_writer() << tr("Address: ") << address;
|
||||
success_msg_writer() << tr("Description: ") << row.m_description << "\n";
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue