implement createSubaddress()

This commit is contained in:
woodser
2019-06-27 12:55:16 -04:00
parent 96882d526b
commit ebc5101289
2 changed files with 22 additions and 21 deletions
+20 -11
View File
@@ -568,19 +568,27 @@ namespace monero {
throw runtime_error("Not implemented");
}
MoneroSubaddress MoneroWallet::createSubaddress(const uint32_t accountIdx) {
throw runtime_error("Not implemented");
}
MoneroSubaddress MoneroWallet::createSubaddress(const uint32_t accountIdx, const string& label) {
throw runtime_error("Not implemented");
}
// create account
// getSubaddresses
// createSubaddress
MoneroSubaddress MoneroWallet::createSubaddress(const uint32_t accountIdx, const string& label) {
cout << "createSubaddress(" << accountIdx << ", " << label << ")" << endl;
// create subaddress
wallet2->add_subaddress(accountIdx, label);
// initialize and return result
MoneroSubaddress subaddress;
subaddress.accountIndex = accountIdx;
subaddress.index = wallet2->get_num_subaddresses(accountIdx) - 1;
subaddress.address = wallet2->get_subaddress_as_str({accountIdx, subaddress.index.get()});
subaddress.label = label;
subaddress.balance = 0;
subaddress.unlockedBalance = 0;
subaddress.numUnspentOutputs = 0;
subaddress.isUsed = false;
subaddress.numBlocksToUnlock = 0;
return subaddress;
}
vector<shared_ptr<MoneroTxWallet>> MoneroWallet::getTxs(MoneroTxRequest& request) const {
cout << "getTxs(request)" << endl;
@@ -906,6 +914,7 @@ namespace monero {
uint32_t subaddressIdx = subaddressIndices.at(subaddressIndicesIdx);
subaddress.index = subaddressIdx;
subaddress.address = getAddress(accountIdx, subaddressIdx);
subaddress.label = wallet2->get_subaddress_label({accountIdx, subaddressIdx});
auto iter1 = balancePerSubaddress.find(subaddressIdx);
subaddress.balance = iter1 == balancePerSubaddress.end() ? 0 : iter1->second;
auto iter2 = unlockedBalancePerSubaddress.find(subaddressIdx);
+2 -10
View File
@@ -440,18 +440,10 @@ namespace monero {
* Create a subaddress within an account.
*
* @param accountIdx specifies the index of the account to create the subaddress within
* @param label specifies the the label for the subaddress (defaults to empty string)
* @return the created subaddress
*/
MoneroSubaddress createSubaddress(uint32_t accountIdx);
/**
* Create a subaddress within an account.
*
* @param accountIdx specifies the index of the account to create the subaddress within
* @param label specifies the the label for the subaddress
* @return the created subaddress
*/
MoneroSubaddress createSubaddress(uint32_t accountIdx, const string& label);
MoneroSubaddress createSubaddress(uint32_t accountIdx, const string& label = "");
// /**
// * Get a wallet transaction by id.