mirror of
https://github.com/monero-project/monero.git
synced 2026-07-28 14:47:15 -07:00
Merge pull request #9953
6d06de7wallet: refactor subaddress expansion & add to transfer test (jeffro256)6e26e44wallet: improve lookahead logic & make rpc persistent (Justin Berman)6f36037wallet: create set_subaddress_lookahead wallet rpc endpoint (benevanoff)b987676wallet: ensure subaddress keys table is at least size of requested lookahead (benevanoff)
This commit is contained in:
@@ -701,6 +701,31 @@ namespace tools
|
||||
res.index = *index;
|
||||
return true;
|
||||
}
|
||||
bool wallet_rpc_server::on_set_subaddr_lookahead(const wallet_rpc::COMMAND_RPC_SET_SUBADDR_LOOKAHEAD::request& req, wallet_rpc::COMMAND_RPC_SET_SUBADDR_LOOKAHEAD::response& res, epee::json_rpc::error& er, const connection_context *ctx)
|
||||
{
|
||||
if (!m_wallet) return not_open(er);
|
||||
CHECK_IF_BACKGROUND_SYNCING();
|
||||
const std::string wallet_file = m_wallet->get_wallet_file();
|
||||
if (wallet_file == "" || m_wallet->verify_password(req.password))
|
||||
{
|
||||
try
|
||||
{
|
||||
m_wallet->set_subaddress_lookahead(req.major_idx, req.minor_idx);
|
||||
m_wallet->rewrite(wallet_file, req.password);
|
||||
}
|
||||
catch (const std::exception& e) {
|
||||
handle_rpc_exception(std::current_exception(), er, WALLET_RPC_ERROR_CODE_UNKNOWN_ERROR);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
er.code = WALLET_RPC_ERROR_CODE_INVALID_PASSWORD;
|
||||
er.message = "Invalid password.";
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
//------------------------------------------------------------------------------------------------------------------------------
|
||||
bool wallet_rpc_server::on_create_address(const wallet_rpc::COMMAND_RPC_CREATE_ADDRESS::request& req, wallet_rpc::COMMAND_RPC_CREATE_ADDRESS::response& res, epee::json_rpc::error& er, const connection_context *ctx)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user