diff options
| author | luigi1111 <luigi1111w@gmail.com> | 2018-08-15 17:35:49 -0500 |
|---|---|---|
| committer | luigi1111 <luigi1111w@gmail.com> | 2018-08-15 17:35:49 -0500 |
| commit | 564e9c3b5f2cfce9955a8476fd7d3b8791bd12b5 (patch) | |
| tree | 69bdababd478399db9dcee1ba4cf59a148818155 /src/wallet/wallet_rpc_server.cpp | |
| parent | 8c4b3f37362239d45a60139c2e5e83cad6823893 (diff) | |
| parent | 1c6cfd34f4ad5939ebeb29a9776faf2f29c8b04f (diff) | |
| download | monzero-core-564e9c3b5f2cfce9955a8476fd7d3b8791bd12b5.tar.gz monzero-core-564e9c3b5f2cfce9955a8476fd7d3b8791bd12b5.tar.xz monzero-core-564e9c3b5f2cfce9955a8476fd7d3b8791bd12b5.zip | |
Merge pull request #4170
1c6cfd3 wallet-rpc: add get_address_index command (stoffu)
Diffstat (limited to 'src/wallet/wallet_rpc_server.cpp')
| -rw-r--r-- | src/wallet/wallet_rpc_server.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/wallet/wallet_rpc_server.cpp b/src/wallet/wallet_rpc_server.cpp index 88fbdac30..b744a79ac 100644 --- a/src/wallet/wallet_rpc_server.cpp +++ b/src/wallet/wallet_rpc_server.cpp @@ -416,6 +416,27 @@ namespace tools return true; } //------------------------------------------------------------------------------------------------------------------------------ + bool wallet_rpc_server::on_getaddress_index(const wallet_rpc::COMMAND_RPC_GET_ADDRESS_INDEX::request& req, wallet_rpc::COMMAND_RPC_GET_ADDRESS_INDEX::response& res, epee::json_rpc::error& er) + { + if (!m_wallet) return not_open(er); + cryptonote::address_parse_info info; + if(!get_account_address_from_str(info, m_wallet->nettype(), req.address)) + { + er.code = WALLET_RPC_ERROR_CODE_WRONG_ADDRESS; + er.message = "Invalid address"; + return false; + } + auto index = m_wallet->get_subaddress_index(info.address); + if (!index) + { + er.code = WALLET_RPC_ERROR_CODE_WRONG_ADDRESS; + er.message = "Address doesn't belong to the wallet"; + return false; + } + res.index = *index; + 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) { if (!m_wallet) return not_open(er); |
