attempt to fix ChangeLabel to setaccount behavior.
This commit is contained in:
parent
00ee6cc18c
commit
a943cb888e
|
@ -4565,6 +4565,16 @@ NAN_METHOD(WalletChangeLabel) {
|
||||||
CAccount account;
|
CAccount account;
|
||||||
walletdb.ReadAccount(accountName, account);
|
walletdb.ReadAccount(accountName, account);
|
||||||
|
|
||||||
|
// setaccount logic:
|
||||||
|
// If address is mine - set account label
|
||||||
|
// If address is not mine - create recipient
|
||||||
|
// NOTE: This now throws an error if the address is not owned by you.
|
||||||
|
// if (coin.accountByAddress(address)) {
|
||||||
|
// coin.accountByAddress(address).label = label;
|
||||||
|
// } else {
|
||||||
|
// coin.createRecipient(address, label);
|
||||||
|
// }
|
||||||
|
|
||||||
if (accountName.empty()) {
|
if (accountName.empty()) {
|
||||||
BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress, CAddressBookData)& item, pwalletMain->mapAddressBook) {
|
BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress, CAddressBookData)& item, pwalletMain->mapAddressBook) {
|
||||||
const CBitcoinAddress& address = item.first;
|
const CBitcoinAddress& address = item.first;
|
||||||
|
@ -4574,6 +4584,11 @@ NAN_METHOD(WalletChangeLabel) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// If it isn't our address, create a recipient:
|
||||||
|
if (!IsMine(*pwalletMain, address.Get())) {
|
||||||
|
WalletSetRecipient(args);
|
||||||
|
NanReturnValue(True());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Find all addresses that have the given account
|
// Find all addresses that have the given account
|
||||||
|
@ -4581,9 +4596,9 @@ NAN_METHOD(WalletChangeLabel) {
|
||||||
const CBitcoinAddress& address = item.first;
|
const CBitcoinAddress& address = item.first;
|
||||||
const string& strName = item.second.name;
|
const string& strName = item.second.name;
|
||||||
if (strName == accountName) {
|
if (strName == accountName) {
|
||||||
walletdb.WriteName(address.ToString(), label);
|
// walletdb.WriteName(address.ToString(), label);
|
||||||
walletdb.WritePurpose(address.ToString(), std::string("receive"));
|
// walletdb.WritePurpose(address.ToString(), std::string("receive"));
|
||||||
// pwalletMain->SetAddressBook(address, accountName, std::string("receive"));
|
pwalletMain->SetAddressBook(address, accountName, std::string("receive"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue