Monero
Loading...
Searching...
No Matches
wallet_rpc_server.h
Go to the documentation of this file.
1// Copyright (c) 2014-2022, The Monero Project
2//
3// All rights reserved.
4//
5// Redistribution and use in source and binary forms, with or without modification, are
6// permitted provided that the following conditions are met:
7//
8// 1. Redistributions of source code must retain the above copyright notice, this list of
9// conditions and the following disclaimer.
10//
11// 2. Redistributions in binary form must reproduce the above copyright notice, this list
12// of conditions and the following disclaimer in the documentation and/or other
13// materials provided with the distribution.
14//
15// 3. Neither the name of the copyright holder nor the names of its contributors may be
16// used to endorse or promote products derived from this software without specific
17// prior written permission.
18//
19// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
20// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
21// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
22// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
27// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28//
29// Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers
30
31#pragma once
32
33#include <boost/program_options/options_description.hpp>
34#include <boost/program_options/variables_map.hpp>
35#include <string>
36#include <chrono>
37#include "common/util.h"
39#include "math_helper.h"
41#include "wallet2.h"
42
43#undef MONERO_DEFAULT_LOG_CATEGORY
44#define MONERO_DEFAULT_LOG_CATEGORY "wallet.rpc"
45
46namespace tools
47{
48 /************************************************************************/
49 /* */
50 /************************************************************************/
51 class wallet_rpc_server: public epee::http_server_impl_base<wallet_rpc_server>
52 {
53 public:
55
56 static const char* tr(const char* str);
57
60
61 bool init(const boost::program_options::variables_map *vm);
62 bool run();
63 void stop();
64 void set_wallet(wallet2 *cr);
65
66 private:
67
68 CHAIN_HTTP_TO_MAP2(connection_context); //forward http requests to uri map
69
71 BEGIN_JSON_RPC_MAP("/json_rpc")
72 MAP_JON_RPC_WE("get_balance", on_getbalance, wallet_rpc::COMMAND_RPC_GET_BALANCE)
73 MAP_JON_RPC_WE("get_address", on_getaddress, wallet_rpc::COMMAND_RPC_GET_ADDRESS)
74 MAP_JON_RPC_WE("get_address_index", on_getaddress_index, wallet_rpc::COMMAND_RPC_GET_ADDRESS_INDEX)
75 MAP_JON_RPC_WE("set_subaddress_lookahead", on_set_subaddr_lookahead, wallet_rpc::COMMAND_RPC_SET_SUBADDR_LOOKAHEAD)
76 MAP_JON_RPC_WE("getbalance", on_getbalance, wallet_rpc::COMMAND_RPC_GET_BALANCE)
77 MAP_JON_RPC_WE("getaddress", on_getaddress, wallet_rpc::COMMAND_RPC_GET_ADDRESS)
78 MAP_JON_RPC_WE("create_address", on_create_address, wallet_rpc::COMMAND_RPC_CREATE_ADDRESS)
79 MAP_JON_RPC_WE("label_address", on_label_address, wallet_rpc::COMMAND_RPC_LABEL_ADDRESS)
80 MAP_JON_RPC_WE("get_accounts", on_get_accounts, wallet_rpc::COMMAND_RPC_GET_ACCOUNTS)
81 MAP_JON_RPC_WE("create_account", on_create_account, wallet_rpc::COMMAND_RPC_CREATE_ACCOUNT)
82 MAP_JON_RPC_WE("label_account", on_label_account, wallet_rpc::COMMAND_RPC_LABEL_ACCOUNT)
83 MAP_JON_RPC_WE("get_account_tags", on_get_account_tags, wallet_rpc::COMMAND_RPC_GET_ACCOUNT_TAGS)
84 MAP_JON_RPC_WE("tag_accounts", on_tag_accounts, wallet_rpc::COMMAND_RPC_TAG_ACCOUNTS)
85 MAP_JON_RPC_WE("untag_accounts", on_untag_accounts, wallet_rpc::COMMAND_RPC_UNTAG_ACCOUNTS)
86 MAP_JON_RPC_WE("set_account_tag_description", on_set_account_tag_description, wallet_rpc::COMMAND_RPC_SET_ACCOUNT_TAG_DESCRIPTION)
87 MAP_JON_RPC_WE("get_height", on_getheight, wallet_rpc::COMMAND_RPC_GET_HEIGHT)
88 MAP_JON_RPC_WE("getheight", on_getheight, wallet_rpc::COMMAND_RPC_GET_HEIGHT)
89 MAP_JON_RPC_WE("freeze", on_freeze, wallet_rpc::COMMAND_RPC_FREEZE)
90 MAP_JON_RPC_WE("thaw", on_thaw, wallet_rpc::COMMAND_RPC_THAW)
91 MAP_JON_RPC_WE("frozen", on_frozen, wallet_rpc::COMMAND_RPC_FROZEN)
92 MAP_JON_RPC_WE("transfer", on_transfer, wallet_rpc::COMMAND_RPC_TRANSFER)
93 MAP_JON_RPC_WE("transfer_split", on_transfer_split, wallet_rpc::COMMAND_RPC_TRANSFER_SPLIT)
94 MAP_JON_RPC_WE("sign_transfer", on_sign_transfer, wallet_rpc::COMMAND_RPC_SIGN_TRANSFER)
95 MAP_JON_RPC_WE("describe_transfer", on_describe_transfer, wallet_rpc::COMMAND_RPC_DESCRIBE_TRANSFER)
96 MAP_JON_RPC_WE("submit_transfer", on_submit_transfer, wallet_rpc::COMMAND_RPC_SUBMIT_TRANSFER)
97 MAP_JON_RPC_WE("sweep_dust", on_sweep_dust, wallet_rpc::COMMAND_RPC_SWEEP_DUST)
98 MAP_JON_RPC_WE("sweep_unmixable", on_sweep_dust, wallet_rpc::COMMAND_RPC_SWEEP_DUST)
99 MAP_JON_RPC_WE("sweep_all", on_sweep_all, wallet_rpc::COMMAND_RPC_SWEEP_ALL)
100 MAP_JON_RPC_WE("sweep_single", on_sweep_single, wallet_rpc::COMMAND_RPC_SWEEP_SINGLE)
101 MAP_JON_RPC_WE("relay_tx", on_relay_tx, wallet_rpc::COMMAND_RPC_RELAY_TX)
102 MAP_JON_RPC_WE("store", on_store, wallet_rpc::COMMAND_RPC_STORE)
103 MAP_JON_RPC_WE("get_payments", on_get_payments, wallet_rpc::COMMAND_RPC_GET_PAYMENTS)
104 MAP_JON_RPC_WE("get_bulk_payments", on_get_bulk_payments, wallet_rpc::COMMAND_RPC_GET_BULK_PAYMENTS)
105 MAP_JON_RPC_WE("incoming_transfers", on_incoming_transfers, wallet_rpc::COMMAND_RPC_INCOMING_TRANSFERS)
106 MAP_JON_RPC_WE("query_key", on_query_key, wallet_rpc::COMMAND_RPC_QUERY_KEY)
107 MAP_JON_RPC_WE("make_integrated_address", on_make_integrated_address, wallet_rpc::COMMAND_RPC_MAKE_INTEGRATED_ADDRESS)
108 MAP_JON_RPC_WE("split_integrated_address", on_split_integrated_address, wallet_rpc::COMMAND_RPC_SPLIT_INTEGRATED_ADDRESS)
109 MAP_JON_RPC_WE("stop_wallet", on_stop_wallet, wallet_rpc::COMMAND_RPC_STOP_WALLET)
110 MAP_JON_RPC_WE("rescan_blockchain", on_rescan_blockchain, wallet_rpc::COMMAND_RPC_RESCAN_BLOCKCHAIN)
111 MAP_JON_RPC_WE("set_tx_notes", on_set_tx_notes, wallet_rpc::COMMAND_RPC_SET_TX_NOTES)
112 MAP_JON_RPC_WE("get_tx_notes", on_get_tx_notes, wallet_rpc::COMMAND_RPC_GET_TX_NOTES)
113 MAP_JON_RPC_WE("set_attribute", on_set_attribute, wallet_rpc::COMMAND_RPC_SET_ATTRIBUTE)
114 MAP_JON_RPC_WE("get_attribute", on_get_attribute, wallet_rpc::COMMAND_RPC_GET_ATTRIBUTE)
115 MAP_JON_RPC_WE("get_tx_key", on_get_tx_key, wallet_rpc::COMMAND_RPC_GET_TX_KEY)
116 MAP_JON_RPC_WE("check_tx_key", on_check_tx_key, wallet_rpc::COMMAND_RPC_CHECK_TX_KEY)
117 MAP_JON_RPC_WE("get_tx_proof", on_get_tx_proof, wallet_rpc::COMMAND_RPC_GET_TX_PROOF)
118 MAP_JON_RPC_WE("check_tx_proof", on_check_tx_proof, wallet_rpc::COMMAND_RPC_CHECK_TX_PROOF)
119 MAP_JON_RPC_WE("get_spend_proof", on_get_spend_proof, wallet_rpc::COMMAND_RPC_GET_SPEND_PROOF)
120 MAP_JON_RPC_WE("check_spend_proof", on_check_spend_proof, wallet_rpc::COMMAND_RPC_CHECK_SPEND_PROOF)
121 MAP_JON_RPC_WE("get_reserve_proof", on_get_reserve_proof, wallet_rpc::COMMAND_RPC_GET_RESERVE_PROOF)
122 MAP_JON_RPC_WE("check_reserve_proof", on_check_reserve_proof, wallet_rpc::COMMAND_RPC_CHECK_RESERVE_PROOF)
123 MAP_JON_RPC_WE("get_transfers", on_get_transfers, wallet_rpc::COMMAND_RPC_GET_TRANSFERS)
124 MAP_JON_RPC_WE("get_transfer_by_txid", on_get_transfer_by_txid, wallet_rpc::COMMAND_RPC_GET_TRANSFER_BY_TXID)
125 MAP_JON_RPC_WE("sign", on_sign, wallet_rpc::COMMAND_RPC_SIGN)
126 MAP_JON_RPC_WE("verify", on_verify, wallet_rpc::COMMAND_RPC_VERIFY)
127 MAP_JON_RPC_WE("export_outputs", on_export_outputs, wallet_rpc::COMMAND_RPC_EXPORT_OUTPUTS)
128 MAP_JON_RPC_WE("import_outputs", on_import_outputs, wallet_rpc::COMMAND_RPC_IMPORT_OUTPUTS)
129 MAP_JON_RPC_WE("export_key_images", on_export_key_images, wallet_rpc::COMMAND_RPC_EXPORT_KEY_IMAGES)
130 MAP_JON_RPC_WE("import_key_images", on_import_key_images, wallet_rpc::COMMAND_RPC_IMPORT_KEY_IMAGES)
131 MAP_JON_RPC_WE("make_uri", on_make_uri, wallet_rpc::COMMAND_RPC_MAKE_URI)
132 MAP_JON_RPC_WE("parse_uri", on_parse_uri, wallet_rpc::COMMAND_RPC_PARSE_URI)
133 MAP_JON_RPC_WE("get_address_book", on_get_address_book, wallet_rpc::COMMAND_RPC_GET_ADDRESS_BOOK_ENTRY)
134 MAP_JON_RPC_WE("add_address_book", on_add_address_book, wallet_rpc::COMMAND_RPC_ADD_ADDRESS_BOOK_ENTRY)
135 MAP_JON_RPC_WE("edit_address_book", on_edit_address_book, wallet_rpc::COMMAND_RPC_EDIT_ADDRESS_BOOK_ENTRY)
136 MAP_JON_RPC_WE("delete_address_book",on_delete_address_book,wallet_rpc::COMMAND_RPC_DELETE_ADDRESS_BOOK_ENTRY)
137 MAP_JON_RPC_WE("refresh", on_refresh, wallet_rpc::COMMAND_RPC_REFRESH)
138 MAP_JON_RPC_WE("auto_refresh", on_auto_refresh, wallet_rpc::COMMAND_RPC_AUTO_REFRESH)
139 MAP_JON_RPC_WE("scan_tx", on_scan_tx, wallet_rpc::COMMAND_RPC_SCAN_TX)
140 MAP_JON_RPC_WE("rescan_spent", on_rescan_spent, wallet_rpc::COMMAND_RPC_RESCAN_SPENT)
141 MAP_JON_RPC_WE("start_mining", on_start_mining, wallet_rpc::COMMAND_RPC_START_MINING)
142 MAP_JON_RPC_WE("stop_mining", on_stop_mining, wallet_rpc::COMMAND_RPC_STOP_MINING)
143 MAP_JON_RPC_WE("get_languages", on_get_languages, wallet_rpc::COMMAND_RPC_GET_LANGUAGES)
144 MAP_JON_RPC_WE("create_wallet", on_create_wallet, wallet_rpc::COMMAND_RPC_CREATE_WALLET)
145 MAP_JON_RPC_WE("open_wallet", on_open_wallet, wallet_rpc::COMMAND_RPC_OPEN_WALLET)
146 MAP_JON_RPC_WE("close_wallet", on_close_wallet, wallet_rpc::COMMAND_RPC_CLOSE_WALLET)
147 MAP_JON_RPC_WE("change_wallet_password", on_change_wallet_password, wallet_rpc::COMMAND_RPC_CHANGE_WALLET_PASSWORD)
148 MAP_JON_RPC_WE("generate_from_keys", on_generate_from_keys, wallet_rpc::COMMAND_RPC_GENERATE_FROM_KEYS)
149 MAP_JON_RPC_WE("restore_deterministic_wallet", on_restore_deterministic_wallet, wallet_rpc::COMMAND_RPC_RESTORE_DETERMINISTIC_WALLET)
150 MAP_JON_RPC_WE("is_multisig", on_is_multisig, wallet_rpc::COMMAND_RPC_IS_MULTISIG)
151 MAP_JON_RPC_WE("prepare_multisig", on_prepare_multisig, wallet_rpc::COMMAND_RPC_PREPARE_MULTISIG)
152 MAP_JON_RPC_WE("make_multisig", on_make_multisig, wallet_rpc::COMMAND_RPC_MAKE_MULTISIG)
153 MAP_JON_RPC_WE("export_multisig_info", on_export_multisig, wallet_rpc::COMMAND_RPC_EXPORT_MULTISIG)
154 MAP_JON_RPC_WE("import_multisig_info", on_import_multisig, wallet_rpc::COMMAND_RPC_IMPORT_MULTISIG)
155 MAP_JON_RPC_WE("finalize_multisig", on_finalize_multisig, wallet_rpc::COMMAND_RPC_FINALIZE_MULTISIG)
156 MAP_JON_RPC_WE("exchange_multisig_keys", on_exchange_multisig_keys, wallet_rpc::COMMAND_RPC_EXCHANGE_MULTISIG_KEYS)
157 MAP_JON_RPC_WE("sign_multisig", on_sign_multisig, wallet_rpc::COMMAND_RPC_SIGN_MULTISIG)
158 MAP_JON_RPC_WE("submit_multisig", on_submit_multisig, wallet_rpc::COMMAND_RPC_SUBMIT_MULTISIG)
159 MAP_JON_RPC_WE("validate_address", on_validate_address, wallet_rpc::COMMAND_RPC_VALIDATE_ADDRESS)
160 MAP_JON_RPC_WE("set_daemon", on_set_daemon, wallet_rpc::COMMAND_RPC_SET_DAEMON)
161 MAP_JON_RPC_WE("set_log_level", on_set_log_level, wallet_rpc::COMMAND_RPC_SET_LOG_LEVEL)
162 MAP_JON_RPC_WE("set_log_categories", on_set_log_categories, wallet_rpc::COMMAND_RPC_SET_LOG_CATEGORIES)
163 MAP_JON_RPC_WE("estimate_tx_size_and_weight", on_estimate_tx_size_and_weight, wallet_rpc::COMMAND_RPC_ESTIMATE_TX_SIZE_AND_WEIGHT)
164 MAP_JON_RPC_WE("get_default_fee_priority", on_get_default_fee_priority, wallet_rpc::COMMAND_RPC_GET_DEFAULT_FEE_PRIORITY)
165 MAP_JON_RPC_WE("get_version", on_get_version, wallet_rpc::COMMAND_RPC_GET_VERSION)
166 MAP_JON_RPC_WE("setup_background_sync", on_setup_background_sync, wallet_rpc::COMMAND_RPC_SETUP_BACKGROUND_SYNC)
167 MAP_JON_RPC_WE("start_background_sync", on_start_background_sync, wallet_rpc::COMMAND_RPC_START_BACKGROUND_SYNC)
168 MAP_JON_RPC_WE("stop_background_sync", on_stop_background_sync, wallet_rpc::COMMAND_RPC_STOP_BACKGROUND_SYNC)
171
172 //json_rpc
173 bool on_getbalance(const wallet_rpc::COMMAND_RPC_GET_BALANCE::request& req, wallet_rpc::COMMAND_RPC_GET_BALANCE::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
174 bool on_getaddress(const wallet_rpc::COMMAND_RPC_GET_ADDRESS::request& req, wallet_rpc::COMMAND_RPC_GET_ADDRESS::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
175 bool 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, const connection_context *ctx = NULL);
176 bool 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 = NULL);
177 bool 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 = NULL);
178 bool on_label_address(const wallet_rpc::COMMAND_RPC_LABEL_ADDRESS::request& req, wallet_rpc::COMMAND_RPC_LABEL_ADDRESS::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
179 bool on_get_accounts(const wallet_rpc::COMMAND_RPC_GET_ACCOUNTS::request& req, wallet_rpc::COMMAND_RPC_GET_ACCOUNTS::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
180 bool on_create_account(const wallet_rpc::COMMAND_RPC_CREATE_ACCOUNT::request& req, wallet_rpc::COMMAND_RPC_CREATE_ACCOUNT::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
181 bool on_label_account(const wallet_rpc::COMMAND_RPC_LABEL_ACCOUNT::request& req, wallet_rpc::COMMAND_RPC_LABEL_ACCOUNT::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
182 bool on_get_account_tags(const wallet_rpc::COMMAND_RPC_GET_ACCOUNT_TAGS::request& req, wallet_rpc::COMMAND_RPC_GET_ACCOUNT_TAGS::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
183 bool on_tag_accounts(const wallet_rpc::COMMAND_RPC_TAG_ACCOUNTS::request& req, wallet_rpc::COMMAND_RPC_TAG_ACCOUNTS::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
184 bool on_untag_accounts(const wallet_rpc::COMMAND_RPC_UNTAG_ACCOUNTS::request& req, wallet_rpc::COMMAND_RPC_UNTAG_ACCOUNTS::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
185 bool on_set_account_tag_description(const wallet_rpc::COMMAND_RPC_SET_ACCOUNT_TAG_DESCRIPTION::request& req, wallet_rpc::COMMAND_RPC_SET_ACCOUNT_TAG_DESCRIPTION::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
186 bool on_getheight(const wallet_rpc::COMMAND_RPC_GET_HEIGHT::request& req, wallet_rpc::COMMAND_RPC_GET_HEIGHT::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
187 bool on_freeze(const wallet_rpc::COMMAND_RPC_FREEZE::request& req, wallet_rpc::COMMAND_RPC_FREEZE::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
188 bool on_thaw(const wallet_rpc::COMMAND_RPC_THAW::request& req, wallet_rpc::COMMAND_RPC_THAW::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
189 bool on_frozen(const wallet_rpc::COMMAND_RPC_FROZEN::request& req, wallet_rpc::COMMAND_RPC_FROZEN::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
190 bool on_transfer(const wallet_rpc::COMMAND_RPC_TRANSFER::request& req, wallet_rpc::COMMAND_RPC_TRANSFER::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
191 bool on_transfer_split(const wallet_rpc::COMMAND_RPC_TRANSFER_SPLIT::request& req, wallet_rpc::COMMAND_RPC_TRANSFER_SPLIT::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
192 bool on_sign_transfer(const wallet_rpc::COMMAND_RPC_SIGN_TRANSFER::request& req, wallet_rpc::COMMAND_RPC_SIGN_TRANSFER::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
193 bool on_describe_transfer(const wallet_rpc::COMMAND_RPC_DESCRIBE_TRANSFER::request& req, wallet_rpc::COMMAND_RPC_DESCRIBE_TRANSFER::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
194 bool on_submit_transfer(const wallet_rpc::COMMAND_RPC_SUBMIT_TRANSFER::request& req, wallet_rpc::COMMAND_RPC_SUBMIT_TRANSFER::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
195 bool on_sweep_dust(const wallet_rpc::COMMAND_RPC_SWEEP_DUST::request& req, wallet_rpc::COMMAND_RPC_SWEEP_DUST::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
196 bool on_sweep_all(const wallet_rpc::COMMAND_RPC_SWEEP_ALL::request& req, wallet_rpc::COMMAND_RPC_SWEEP_ALL::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
197 bool on_sweep_single(const wallet_rpc::COMMAND_RPC_SWEEP_SINGLE::request& req, wallet_rpc::COMMAND_RPC_SWEEP_SINGLE::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
198 bool on_relay_tx(const wallet_rpc::COMMAND_RPC_RELAY_TX::request& req, wallet_rpc::COMMAND_RPC_RELAY_TX::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
199 bool on_make_integrated_address(const wallet_rpc::COMMAND_RPC_MAKE_INTEGRATED_ADDRESS::request& req, wallet_rpc::COMMAND_RPC_MAKE_INTEGRATED_ADDRESS::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
200 bool on_split_integrated_address(const wallet_rpc::COMMAND_RPC_SPLIT_INTEGRATED_ADDRESS::request& req, wallet_rpc::COMMAND_RPC_SPLIT_INTEGRATED_ADDRESS::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
201 bool on_store(const wallet_rpc::COMMAND_RPC_STORE::request& req, wallet_rpc::COMMAND_RPC_STORE::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
202 bool on_get_payments(const wallet_rpc::COMMAND_RPC_GET_PAYMENTS::request& req, wallet_rpc::COMMAND_RPC_GET_PAYMENTS::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
203 bool on_get_bulk_payments(const wallet_rpc::COMMAND_RPC_GET_BULK_PAYMENTS::request& req, wallet_rpc::COMMAND_RPC_GET_BULK_PAYMENTS::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
204 bool on_incoming_transfers(const wallet_rpc::COMMAND_RPC_INCOMING_TRANSFERS::request& req, wallet_rpc::COMMAND_RPC_INCOMING_TRANSFERS::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
205 bool on_stop_wallet(const wallet_rpc::COMMAND_RPC_STOP_WALLET::request& req, wallet_rpc::COMMAND_RPC_STOP_WALLET::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
206 bool on_rescan_blockchain(const wallet_rpc::COMMAND_RPC_RESCAN_BLOCKCHAIN::request& req, wallet_rpc::COMMAND_RPC_RESCAN_BLOCKCHAIN::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
207 bool on_set_tx_notes(const wallet_rpc::COMMAND_RPC_SET_TX_NOTES::request& req, wallet_rpc::COMMAND_RPC_SET_TX_NOTES::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
208 bool on_get_tx_notes(const wallet_rpc::COMMAND_RPC_GET_TX_NOTES::request& req, wallet_rpc::COMMAND_RPC_GET_TX_NOTES::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
209 bool on_set_attribute(const wallet_rpc::COMMAND_RPC_SET_ATTRIBUTE::request& req, wallet_rpc::COMMAND_RPC_SET_ATTRIBUTE::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
210 bool on_get_attribute(const wallet_rpc::COMMAND_RPC_GET_ATTRIBUTE::request& req, wallet_rpc::COMMAND_RPC_GET_ATTRIBUTE::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
211 bool on_get_tx_key(const wallet_rpc::COMMAND_RPC_GET_TX_KEY::request& req, wallet_rpc::COMMAND_RPC_GET_TX_KEY::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
212 bool on_check_tx_key(const wallet_rpc::COMMAND_RPC_CHECK_TX_KEY::request& req, wallet_rpc::COMMAND_RPC_CHECK_TX_KEY::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
213 bool on_get_tx_proof(const wallet_rpc::COMMAND_RPC_GET_TX_PROOF::request& req, wallet_rpc::COMMAND_RPC_GET_TX_PROOF::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
214 bool on_check_tx_proof(const wallet_rpc::COMMAND_RPC_CHECK_TX_PROOF::request& req, wallet_rpc::COMMAND_RPC_CHECK_TX_PROOF::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
215 bool on_get_spend_proof(const wallet_rpc::COMMAND_RPC_GET_SPEND_PROOF::request& req, wallet_rpc::COMMAND_RPC_GET_SPEND_PROOF::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
216 bool on_check_spend_proof(const wallet_rpc::COMMAND_RPC_CHECK_SPEND_PROOF::request& req, wallet_rpc::COMMAND_RPC_CHECK_SPEND_PROOF::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
217 bool on_get_reserve_proof(const wallet_rpc::COMMAND_RPC_GET_RESERVE_PROOF::request& req, wallet_rpc::COMMAND_RPC_GET_RESERVE_PROOF::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
218 bool on_check_reserve_proof(const wallet_rpc::COMMAND_RPC_CHECK_RESERVE_PROOF::request& req, wallet_rpc::COMMAND_RPC_CHECK_RESERVE_PROOF::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
219 bool on_get_transfers(const wallet_rpc::COMMAND_RPC_GET_TRANSFERS::request& req, wallet_rpc::COMMAND_RPC_GET_TRANSFERS::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
220 bool on_get_transfer_by_txid(const wallet_rpc::COMMAND_RPC_GET_TRANSFER_BY_TXID::request& req, wallet_rpc::COMMAND_RPC_GET_TRANSFER_BY_TXID::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
221 bool on_sign(const wallet_rpc::COMMAND_RPC_SIGN::request& req, wallet_rpc::COMMAND_RPC_SIGN::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
222 bool on_verify(const wallet_rpc::COMMAND_RPC_VERIFY::request& req, wallet_rpc::COMMAND_RPC_VERIFY::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
223 bool on_export_outputs(const wallet_rpc::COMMAND_RPC_EXPORT_OUTPUTS::request& req, wallet_rpc::COMMAND_RPC_EXPORT_OUTPUTS::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
224 bool on_import_outputs(const wallet_rpc::COMMAND_RPC_IMPORT_OUTPUTS::request& req, wallet_rpc::COMMAND_RPC_IMPORT_OUTPUTS::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
225 bool on_export_key_images(const wallet_rpc::COMMAND_RPC_EXPORT_KEY_IMAGES::request& req, wallet_rpc::COMMAND_RPC_EXPORT_KEY_IMAGES::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
226 bool on_import_key_images(const wallet_rpc::COMMAND_RPC_IMPORT_KEY_IMAGES::request& req, wallet_rpc::COMMAND_RPC_IMPORT_KEY_IMAGES::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
227 bool on_make_uri(const wallet_rpc::COMMAND_RPC_MAKE_URI::request& req, wallet_rpc::COMMAND_RPC_MAKE_URI::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
228 bool on_parse_uri(const wallet_rpc::COMMAND_RPC_PARSE_URI::request& req, wallet_rpc::COMMAND_RPC_PARSE_URI::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
229 bool on_get_address_book(const wallet_rpc::COMMAND_RPC_GET_ADDRESS_BOOK_ENTRY::request& req, wallet_rpc::COMMAND_RPC_GET_ADDRESS_BOOK_ENTRY::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
230 bool on_add_address_book(const wallet_rpc::COMMAND_RPC_ADD_ADDRESS_BOOK_ENTRY::request& req, wallet_rpc::COMMAND_RPC_ADD_ADDRESS_BOOK_ENTRY::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
231 bool on_edit_address_book(const wallet_rpc::COMMAND_RPC_EDIT_ADDRESS_BOOK_ENTRY::request& req, wallet_rpc::COMMAND_RPC_EDIT_ADDRESS_BOOK_ENTRY::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
232 bool on_delete_address_book(const wallet_rpc::COMMAND_RPC_DELETE_ADDRESS_BOOK_ENTRY::request& req, wallet_rpc::COMMAND_RPC_DELETE_ADDRESS_BOOK_ENTRY::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
233 bool on_refresh(const wallet_rpc::COMMAND_RPC_REFRESH::request& req, wallet_rpc::COMMAND_RPC_REFRESH::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
234 bool on_auto_refresh(const wallet_rpc::COMMAND_RPC_AUTO_REFRESH::request& req, wallet_rpc::COMMAND_RPC_AUTO_REFRESH::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
235 bool on_scan_tx(const wallet_rpc::COMMAND_RPC_SCAN_TX::request& req, wallet_rpc::COMMAND_RPC_SCAN_TX::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
236 bool on_rescan_spent(const wallet_rpc::COMMAND_RPC_RESCAN_SPENT::request& req, wallet_rpc::COMMAND_RPC_RESCAN_SPENT::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
237 bool on_start_mining(const wallet_rpc::COMMAND_RPC_START_MINING::request& req, wallet_rpc::COMMAND_RPC_START_MINING::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
238 bool on_stop_mining(const wallet_rpc::COMMAND_RPC_STOP_MINING::request& req, wallet_rpc::COMMAND_RPC_STOP_MINING::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
239 bool on_get_languages(const wallet_rpc::COMMAND_RPC_GET_LANGUAGES::request& req, wallet_rpc::COMMAND_RPC_GET_LANGUAGES::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
240 bool on_create_wallet(const wallet_rpc::COMMAND_RPC_CREATE_WALLET::request& req, wallet_rpc::COMMAND_RPC_CREATE_WALLET::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
241 bool on_open_wallet(const wallet_rpc::COMMAND_RPC_OPEN_WALLET::request& req, wallet_rpc::COMMAND_RPC_OPEN_WALLET::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
242 bool on_close_wallet(const wallet_rpc::COMMAND_RPC_CLOSE_WALLET::request& req, wallet_rpc::COMMAND_RPC_CLOSE_WALLET::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
243 bool on_change_wallet_password(const wallet_rpc::COMMAND_RPC_CHANGE_WALLET_PASSWORD::request& req, wallet_rpc::COMMAND_RPC_CHANGE_WALLET_PASSWORD::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
244 bool on_generate_from_keys(const wallet_rpc::COMMAND_RPC_GENERATE_FROM_KEYS::request& req, wallet_rpc::COMMAND_RPC_GENERATE_FROM_KEYS::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
245 bool on_restore_deterministic_wallet(const wallet_rpc::COMMAND_RPC_RESTORE_DETERMINISTIC_WALLET::request& req, wallet_rpc::COMMAND_RPC_RESTORE_DETERMINISTIC_WALLET::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
246 bool on_is_multisig(const wallet_rpc::COMMAND_RPC_IS_MULTISIG::request& req, wallet_rpc::COMMAND_RPC_IS_MULTISIG::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
247 bool on_prepare_multisig(const wallet_rpc::COMMAND_RPC_PREPARE_MULTISIG::request& req, wallet_rpc::COMMAND_RPC_PREPARE_MULTISIG::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
248 bool on_make_multisig(const wallet_rpc::COMMAND_RPC_MAKE_MULTISIG::request& req, wallet_rpc::COMMAND_RPC_MAKE_MULTISIG::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
249 bool on_export_multisig(const wallet_rpc::COMMAND_RPC_EXPORT_MULTISIG::request& req, wallet_rpc::COMMAND_RPC_EXPORT_MULTISIG::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
250 bool on_import_multisig(const wallet_rpc::COMMAND_RPC_IMPORT_MULTISIG::request& req, wallet_rpc::COMMAND_RPC_IMPORT_MULTISIG::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
251 bool on_finalize_multisig(const wallet_rpc::COMMAND_RPC_FINALIZE_MULTISIG::request& req, wallet_rpc::COMMAND_RPC_FINALIZE_MULTISIG::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
252 bool on_exchange_multisig_keys(const wallet_rpc::COMMAND_RPC_EXCHANGE_MULTISIG_KEYS::request& req, wallet_rpc::COMMAND_RPC_EXCHANGE_MULTISIG_KEYS::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
253 bool on_sign_multisig(const wallet_rpc::COMMAND_RPC_SIGN_MULTISIG::request& req, wallet_rpc::COMMAND_RPC_SIGN_MULTISIG::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
254 bool on_submit_multisig(const wallet_rpc::COMMAND_RPC_SUBMIT_MULTISIG::request& req, wallet_rpc::COMMAND_RPC_SUBMIT_MULTISIG::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
255 bool on_validate_address(const wallet_rpc::COMMAND_RPC_VALIDATE_ADDRESS::request& req, wallet_rpc::COMMAND_RPC_VALIDATE_ADDRESS::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
256 bool on_set_daemon(const wallet_rpc::COMMAND_RPC_SET_DAEMON::request& req, wallet_rpc::COMMAND_RPC_SET_DAEMON::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
257 bool on_set_log_level(const wallet_rpc::COMMAND_RPC_SET_LOG_LEVEL::request& req, wallet_rpc::COMMAND_RPC_SET_LOG_LEVEL::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
258 bool on_set_log_categories(const wallet_rpc::COMMAND_RPC_SET_LOG_CATEGORIES::request& req, wallet_rpc::COMMAND_RPC_SET_LOG_CATEGORIES::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
259 bool on_estimate_tx_size_and_weight(const wallet_rpc::COMMAND_RPC_ESTIMATE_TX_SIZE_AND_WEIGHT::request& req, wallet_rpc::COMMAND_RPC_ESTIMATE_TX_SIZE_AND_WEIGHT::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
260 bool on_get_default_fee_priority(const wallet_rpc::COMMAND_RPC_GET_DEFAULT_FEE_PRIORITY::request& req, wallet_rpc::COMMAND_RPC_GET_DEFAULT_FEE_PRIORITY::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
261 bool on_get_version(const wallet_rpc::COMMAND_RPC_GET_VERSION::request& req, wallet_rpc::COMMAND_RPC_GET_VERSION::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
262 bool on_setup_background_sync(const wallet_rpc::COMMAND_RPC_SETUP_BACKGROUND_SYNC::request& req, wallet_rpc::COMMAND_RPC_SETUP_BACKGROUND_SYNC::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
263 bool on_start_background_sync(const wallet_rpc::COMMAND_RPC_START_BACKGROUND_SYNC::request& req, wallet_rpc::COMMAND_RPC_START_BACKGROUND_SYNC::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
264 bool on_stop_background_sync(const wallet_rpc::COMMAND_RPC_STOP_BACKGROUND_SYNC::request& req, wallet_rpc::COMMAND_RPC_STOP_BACKGROUND_SYNC::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
265
266 //json rpc v2
267 bool on_query_key(const wallet_rpc::COMMAND_RPC_QUERY_KEY::request& req, wallet_rpc::COMMAND_RPC_QUERY_KEY::response& res, epee::json_rpc::error& er, const connection_context *ctx = NULL);
268
269 // helpers
270 void fill_transfer_entry(tools::wallet_rpc::transfer_entry &entry, const crypto::hash &txid, const crypto::hash &payment_id, const tools::wallet2::payment_details &pd);
271 void fill_transfer_entry(tools::wallet_rpc::transfer_entry &entry, const crypto::hash &txid, const tools::wallet2::confirmed_transfer_details &pd);
272 void fill_transfer_entry(tools::wallet_rpc::transfer_entry &entry, const crypto::hash &txid, const tools::wallet2::unconfirmed_transfer_details &pd);
273 void fill_transfer_entry(tools::wallet_rpc::transfer_entry &entry, const crypto::hash &payment_id, const tools::wallet2::pool_payment_details &pd);
274 bool not_open(epee::json_rpc::error& er);
275 void handle_rpc_exception(const std::exception_ptr& e, epee::json_rpc::error& er, int default_error_code);
276
277 template<typename Ts, typename Tu, typename Tk, typename Ta>
278 bool fill_response(std::vector<tools::wallet2::pending_tx> &ptx_vector,
279 bool get_tx_key, Ts& tx_key, Tu &amount, Ta &amounts_by_dest, Tu &fee, Tu &weight, std::string &multisig_txset, std::string &unsigned_txset, bool do_not_relay,
280 Ts &tx_hash, bool get_tx_hex, Ts &tx_blob, bool get_tx_metadata, Ts &tx_metadata, Tk &spent_key_images, epee::json_rpc::error &er);
281
282 bool validate_transfer(const std::list<wallet_rpc::transfer_destination>& destinations, const std::string& payment_id, std::vector<cryptonote::tx_destination_entry>& dsts, std::vector<uint8_t>& extra, bool at_least_one_destination, epee::json_rpc::error& er);
283
285
289 std::atomic<bool> m_stop;
291 const boost::program_options::variables_map *m_vm;
293 std::chrono::time_point<std::chrono::steady_clock> m_last_auto_refresh_time;
294 };
295}
Definition http_server_impl_base.h:50
A file restricted to process owner AND process. Deletes file on destruction.
Definition util.h:73
Definition wallet2.h:232
bool on_create_account(const wallet_rpc::COMMAND_RPC_CREATE_ACCOUNT::request &req, wallet_rpc::COMMAND_RPC_CREATE_ACCOUNT::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:832
bool on_export_multisig(const wallet_rpc::COMMAND_RPC_EXPORT_MULTISIG::request &req, wallet_rpc::COMMAND_RPC_EXPORT_MULTISIG::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:4340
bool on_verify(const wallet_rpc::COMMAND_RPC_VERIFY::request &req, wallet_rpc::COMMAND_RPC_VERIFY::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2447
bool on_sign_transfer(const wallet_rpc::COMMAND_RPC_SIGN_TRANSFER::request &req, wallet_rpc::COMMAND_RPC_SIGN_TRANSFER::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:1346
bool on_parse_uri(const wallet_rpc::COMMAND_RPC_PARSE_URI::request &req, wallet_rpc::COMMAND_RPC_PARSE_URI::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:3222
bool on_set_attribute(const wallet_rpc::COMMAND_RPC_SET_ATTRIBUTE::request &req, wallet_rpc::COMMAND_RPC_SET_ATTRIBUTE::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2587
bool on_get_accounts(const wallet_rpc::COMMAND_RPC_GET_ACCOUNTS::request &req, wallet_rpc::COMMAND_RPC_GET_ACCOUNTS::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:785
bool on_validate_address(const wallet_rpc::COMMAND_RPC_VALIDATE_ADDRESS::request &req, wallet_rpc::COMMAND_RPC_VALIDATE_ADDRESS::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:4642
bool on_refresh(const wallet_rpc::COMMAND_RPC_REFRESH::request &req, wallet_rpc::COMMAND_RPC_REFRESH::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:3408
bool m_restricted
Definition wallet_rpc_server.h:290
bool on_submit_multisig(const wallet_rpc::COMMAND_RPC_SUBMIT_MULTISIG::request &req, wallet_rpc::COMMAND_RPC_SUBMIT_MULTISIG::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:4575
bool 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, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:685
bool on_incoming_transfers(const wallet_rpc::COMMAND_RPC_INCOMING_TRANSFERS::request &req, wallet_rpc::COMMAND_RPC_INCOMING_TRANSFERS::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2196
void check_background_mining()
Definition wallet_rpc_server.cpp:411
bool on_sign_multisig(const wallet_rpc::COMMAND_RPC_SIGN_MULTISIG::request &req, wallet_rpc::COMMAND_RPC_SIGN_MULTISIG::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:4505
bool on_get_tx_notes(const wallet_rpc::COMMAND_RPC_GET_TX_NOTES::request &req, wallet_rpc::COMMAND_RPC_GET_TX_NOTES::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2558
bool on_import_key_images(const wallet_rpc::COMMAND_RPC_IMPORT_KEY_IMAGES::request &req, wallet_rpc::COMMAND_RPC_IMPORT_KEY_IMAGES::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:3154
bool on_check_tx_key(const wallet_rpc::COMMAND_RPC_CHECK_TX_KEY::request &req, wallet_rpc::COMMAND_RPC_CHECK_TX_KEY::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2651
bool on_start_mining(const wallet_rpc::COMMAND_RPC_START_MINING::request &req, wallet_rpc::COMMAND_RPC_START_MINING::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:3516
void handle_rpc_exception(const std::exception_ptr &e, epee::json_rpc::error &er, int default_error_code)
Definition wallet_rpc_server.cpp:3790
bool on_exchange_multisig_keys(const wallet_rpc::COMMAND_RPC_EXCHANGE_MULTISIG_KEYS::request &req, wallet_rpc::COMMAND_RPC_EXCHANGE_MULTISIG_KEYS::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:4461
bool on_rescan_spent(const wallet_rpc::COMMAND_RPC_RESCAN_SPENT::request &req, wallet_rpc::COMMAND_RPC_RESCAN_SPENT::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:3493
bool on_sweep_dust(const wallet_rpc::COMMAND_RPC_SWEEP_DUST::request &req, wallet_rpc::COMMAND_RPC_SWEEP_DUST::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:1710
bool run()
Definition wallet_rpc_server.cpp:199
bool on_relay_tx(const wallet_rpc::COMMAND_RPC_RELAY_TX::request &req, wallet_rpc::COMMAND_RPC_RELAY_TX::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:1893
bool on_open_wallet(const wallet_rpc::COMMAND_RPC_OPEN_WALLET::request &req, wallet_rpc::COMMAND_RPC_OPEN_WALLET::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:3666
bool on_transfer_split(const wallet_rpc::COMMAND_RPC_TRANSFER_SPLIT::request &req, wallet_rpc::COMMAND_RPC_TRANSFER_SPLIT::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:1292
bool on_untag_accounts(const wallet_rpc::COMMAND_RPC_UNTAG_ACCOUNTS::request &req, wallet_rpc::COMMAND_RPC_UNTAG_ACCOUNTS::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:902
bool on_restore_deterministic_wallet(const wallet_rpc::COMMAND_RPC_RESTORE_DETERMINISTIC_WALLET::request &req, wallet_rpc::COMMAND_RPC_RESTORE_DETERMINISTIC_WALLET::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:4053
bool on_prepare_multisig(const wallet_rpc::COMMAND_RPC_PREPARE_MULTISIG::request &req, wallet_rpc::COMMAND_RPC_PREPARE_MULTISIG::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:4271
bool on_get_address_book(const wallet_rpc::COMMAND_RPC_GET_ADDRESS_BOOK_ENTRY::request &req, wallet_rpc::COMMAND_RPC_GET_ADDRESS_BOOK_ENTRY::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:3235
bool on_check_spend_proof(const wallet_rpc::COMMAND_RPC_CHECK_SPEND_PROOF::request &req, wallet_rpc::COMMAND_RPC_CHECK_SPEND_PROOF::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2805
~wallet_rpc_server()
Definition wallet_rpc_server.cpp:188
bool on_set_account_tag_description(const wallet_rpc::COMMAND_RPC_SET_ACCOUNT_TAG_DESCRIPTION::request &req, wallet_rpc::COMMAND_RPC_SET_ACCOUNT_TAG_DESCRIPTION::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:918
bool on_delete_address_book(const wallet_rpc::COMMAND_RPC_DELETE_ADDRESS_BOOK_ENTRY::request &req, wallet_rpc::COMMAND_RPC_DELETE_ADDRESS_BOOK_ENTRY::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:3381
bool on_freeze(const wallet_rpc::COMMAND_RPC_FREEZE::request &req, wallet_rpc::COMMAND_RPC_FREEZE::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:949
epee::net_utils::connection_context_base connection_context
Definition wallet_rpc_server.h:54
bool on_export_outputs(const wallet_rpc::COMMAND_RPC_EXPORT_OUTPUTS::request &req, wallet_rpc::COMMAND_RPC_EXPORT_OUTPUTS::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:3061
bool on_import_multisig(const wallet_rpc::COMMAND_RPC_IMPORT_MULTISIG::request &req, wallet_rpc::COMMAND_RPC_IMPORT_MULTISIG::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:4381
bool on_store(const wallet_rpc::COMMAND_RPC_STORE::request &req, wallet_rpc::COMMAND_RPC_STORE::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2040
bool on_set_daemon(const wallet_rpc::COMMAND_RPC_SET_DAEMON::request &req, wallet_rpc::COMMAND_RPC_SET_DAEMON::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:4693
bool on_getheight(const wallet_rpc::COMMAND_RPC_GET_HEIGHT::request &req, wallet_rpc::COMMAND_RPC_GET_HEIGHT::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:934
bool on_get_version(const wallet_rpc::COMMAND_RPC_GET_VERSION::request &req, wallet_rpc::COMMAND_RPC_GET_VERSION::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:4836
bool on_change_wallet_password(const wallet_rpc::COMMAND_RPC_CHANGE_WALLET_PASSWORD::request &req, wallet_rpc::COMMAND_RPC_CHANGE_WALLET_PASSWORD::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:3758
bool on_get_tx_proof(const wallet_rpc::COMMAND_RPC_GET_TX_PROOF::request &req, wallet_rpc::COMMAND_RPC_GET_TX_PROOF::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2713
bool on_get_attribute(const wallet_rpc::COMMAND_RPC_GET_ATTRIBUTE::request &req, wallet_rpc::COMMAND_RPC_GET_ATTRIBUTE::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2603
bool on_sweep_all(const wallet_rpc::COMMAND_RPC_SWEEP_ALL::request &req, wallet_rpc::COMMAND_RPC_SWEEP_ALL::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:1738
bool on_get_spend_proof(const wallet_rpc::COMMAND_RPC_GET_SPEND_PROOF::request &req, wallet_rpc::COMMAND_RPC_GET_SPEND_PROOF::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2780
std::atomic< bool > m_stop
Definition wallet_rpc_server.h:289
bool on_edit_address_book(const wallet_rpc::COMMAND_RPC_EDIT_ADDRESS_BOOK_ENTRY::request &req, wallet_rpc::COMMAND_RPC_EDIT_ADDRESS_BOOK_ENTRY::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:3318
bool on_get_payments(const wallet_rpc::COMMAND_RPC_GET_PAYMENTS::request &req, wallet_rpc::COMMAND_RPC_GET_PAYMENTS::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2062
bool on_label_address(const wallet_rpc::COMMAND_RPC_LABEL_ADDRESS::request &req, wallet_rpc::COMMAND_RPC_LABEL_ADDRESS::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:769
bool on_getaddress(const wallet_rpc::COMMAND_RPC_GET_ADDRESS::request &req, wallet_rpc::COMMAND_RPC_GET_ADDRESS::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:645
bool on_create_wallet(const wallet_rpc::COMMAND_RPC_CREATE_WALLET::request &req, wallet_rpc::COMMAND_RPC_CREATE_WALLET::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:3573
bool on_get_transfer_by_txid(const wallet_rpc::COMMAND_RPC_GET_TRANSFER_BY_TXID::request &req, wallet_rpc::COMMAND_RPC_GET_TRANSFER_BY_TXID::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2968
bool on_finalize_multisig(const wallet_rpc::COMMAND_RPC_FINALIZE_MULTISIG::request &req, wallet_rpc::COMMAND_RPC_FINALIZE_MULTISIG::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:4455
bool on_sign(const wallet_rpc::COMMAND_RPC_SIGN::request &req, wallet_rpc::COMMAND_RPC_SIGN::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2421
bool validate_transfer(const std::list< wallet_rpc::transfer_destination > &destinations, const std::string &payment_id, std::vector< cryptonote::tx_destination_entry > &dsts, std::vector< uint8_t > &extra, bool at_least_one_destination, epee::json_rpc::error &er)
Definition wallet_rpc_server.cpp:1036
std::atomic< uint32_t > m_auto_refresh_period
Definition wallet_rpc_server.h:292
void set_wallet(wallet2 *cr)
Definition wallet_rpc_server.cpp:194
bool on_tag_accounts(const wallet_rpc::COMMAND_RPC_TAG_ACCOUNTS::request &req, wallet_rpc::COMMAND_RPC_TAG_ACCOUNTS::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:886
bool on_stop_wallet(const wallet_rpc::COMMAND_RPC_STOP_WALLET::request &req, wallet_rpc::COMMAND_RPC_STOP_WALLET::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2491
bool on_get_reserve_proof(const wallet_rpc::COMMAND_RPC_GET_RESERVE_PROOF::request &req, wallet_rpc::COMMAND_RPC_GET_RESERVE_PROOF::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2830
const boost::program_options::variables_map * m_vm
Definition wallet_rpc_server.h:291
bool 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=NULL)
Definition wallet_rpc_server.cpp:705
bool on_describe_transfer(const wallet_rpc::COMMAND_RPC_DESCRIBE_TRANSFER::request &req, wallet_rpc::COMMAND_RPC_DESCRIBE_TRANSFER::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:1430
bool on_get_transfers(const wallet_rpc::COMMAND_RPC_GET_TRANSFERS::request &req, wallet_rpc::COMMAND_RPC_GET_TRANSFERS::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2891
tools::private_file rpc_login_file
Definition wallet_rpc_server.h:288
bool on_set_log_level(const wallet_rpc::COMMAND_RPC_SET_LOG_LEVEL::request &req, wallet_rpc::COMMAND_RPC_SET_LOG_LEVEL::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:4761
bool on_label_account(const wallet_rpc::COMMAND_RPC_LABEL_ACCOUNT::request &req, wallet_rpc::COMMAND_RPC_LABEL_ACCOUNT::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:850
bool on_query_key(const wallet_rpc::COMMAND_RPC_QUERY_KEY::request &req, wallet_rpc::COMMAND_RPC_QUERY_KEY::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2246
bool fill_response(std::vector< tools::wallet2::pending_tx > &ptx_vector, bool get_tx_key, Ts &tx_key, Tu &amount, Ta &amounts_by_dest, Tu &fee, Tu &weight, std::string &multisig_txset, std::string &unsigned_txset, bool do_not_relay, Ts &tx_hash, bool get_tx_hex, Ts &tx_blob, bool get_tx_metadata, Ts &tx_metadata, Tk &spent_key_images, epee::json_rpc::error &er)
Definition wallet_rpc_server.cpp:1154
bool on_close_wallet(const wallet_rpc::COMMAND_RPC_CLOSE_WALLET::request &req, wallet_rpc::COMMAND_RPC_CLOSE_WALLET::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:3737
bool on_check_tx_proof(const wallet_rpc::COMMAND_RPC_CHECK_TX_PROOF::request &req, wallet_rpc::COMMAND_RPC_CHECK_TX_PROOF::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2747
bool on_getbalance(const wallet_rpc::COMMAND_RPC_GET_BALANCE::request &req, wallet_rpc::COMMAND_RPC_GET_BALANCE::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:580
bool on_thaw(const wallet_rpc::COMMAND_RPC_THAW::request &req, wallet_rpc::COMMAND_RPC_THAW::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:978
bool on_make_uri(const wallet_rpc::COMMAND_RPC_MAKE_URI::request &req, wallet_rpc::COMMAND_RPC_MAKE_URI::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:3206
bool on_auto_refresh(const wallet_rpc::COMMAND_RPC_AUTO_REFRESH::request &req, wallet_rpc::COMMAND_RPC_AUTO_REFRESH::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:3430
std::string m_wallet_dir
Definition wallet_rpc_server.h:287
std::chrono::time_point< std::chrono::steady_clock > m_last_auto_refresh_time
Definition wallet_rpc_server.h:293
void stop()
Definition wallet_rpc_server.cpp:283
bool on_get_languages(const wallet_rpc::COMMAND_RPC_GET_LANGUAGES::request &req, wallet_rpc::COMMAND_RPC_GET_LANGUAGES::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:3566
bool on_split_integrated_address(const wallet_rpc::COMMAND_RPC_SPLIT_INTEGRATED_ADDRESS::request &req, wallet_rpc::COMMAND_RPC_SPLIT_INTEGRATED_ADDRESS::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2009
bool on_set_tx_notes(const wallet_rpc::COMMAND_RPC_SET_TX_NOTES::request &req, wallet_rpc::COMMAND_RPC_SET_TX_NOTES::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2514
wallet2 * m_wallet
Definition wallet_rpc_server.h:286
bool on_get_bulk_payments(const wallet_rpc::COMMAND_RPC_GET_BULK_PAYMENTS::request &req, wallet_rpc::COMMAND_RPC_GET_BULK_PAYMENTS::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2112
bool on_setup_background_sync(const wallet_rpc::COMMAND_RPC_SETUP_BACKGROUND_SYNC::request &req, wallet_rpc::COMMAND_RPC_SETUP_BACKGROUND_SYNC::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2348
bool on_estimate_tx_size_and_weight(const wallet_rpc::COMMAND_RPC_ESTIMATE_TX_SIZE_AND_WEIGHT::request &req, wallet_rpc::COMMAND_RPC_ESTIMATE_TX_SIZE_AND_WEIGHT::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:4794
bool on_make_integrated_address(const wallet_rpc::COMMAND_RPC_MAKE_INTEGRATED_ADDRESS::request &req, wallet_rpc::COMMAND_RPC_MAKE_INTEGRATED_ADDRESS::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:1951
bool on_submit_transfer(const wallet_rpc::COMMAND_RPC_SUBMIT_TRANSFER::request &req, wallet_rpc::COMMAND_RPC_SUBMIT_TRANSFER::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:1650
bool on_set_log_categories(const wallet_rpc::COMMAND_RPC_SET_LOG_CATEGORIES::request &req, wallet_rpc::COMMAND_RPC_SET_LOG_CATEGORIES::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:4780
void fill_transfer_entry(tools::wallet_rpc::transfer_entry &entry, const crypto::hash &txid, const crypto::hash &payment_id, const tools::wallet2::payment_details &pd)
Definition wallet_rpc_server.cpp:475
bool 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=NULL)
Definition wallet_rpc_server.cpp:731
bool on_make_multisig(const wallet_rpc::COMMAND_RPC_MAKE_MULTISIG::request &req, wallet_rpc::COMMAND_RPC_MAKE_MULTISIG::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:4301
bool on_add_address_book(const wallet_rpc::COMMAND_RPC_ADD_ADDRESS_BOOK_ENTRY::request &req, wallet_rpc::COMMAND_RPC_ADD_ADDRESS_BOOK_ENTRY::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:3275
bool on_sweep_single(const wallet_rpc::COMMAND_RPC_SWEEP_SINGLE::request &req, wallet_rpc::COMMAND_RPC_SWEEP_SINGLE::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:1804
bool on_transfer(const wallet_rpc::COMMAND_RPC_TRANSFER::request &req, wallet_rpc::COMMAND_RPC_TRANSFER::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:1231
bool on_export_key_images(const wallet_rpc::COMMAND_RPC_EXPORT_KEY_IMAGES::request &req, wallet_rpc::COMMAND_RPC_EXPORT_KEY_IMAGES::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:3129
bool on_frozen(const wallet_rpc::COMMAND_RPC_FROZEN::request &req, wallet_rpc::COMMAND_RPC_FROZEN::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:1007
bool on_is_multisig(const wallet_rpc::COMMAND_RPC_IS_MULTISIG::request &req, wallet_rpc::COMMAND_RPC_IS_MULTISIG::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:4264
bool on_stop_mining(const wallet_rpc::COMMAND_RPC_STOP_MINING::request &req, wallet_rpc::COMMAND_RPC_STOP_MINING::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:3551
bool on_rescan_blockchain(const wallet_rpc::COMMAND_RPC_RESCAN_BLOCKCHAIN::request &req, wallet_rpc::COMMAND_RPC_RESCAN_BLOCKCHAIN::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2325
bool on_get_account_tags(const wallet_rpc::COMMAND_RPC_GET_ACCOUNT_TAGS::request &req, wallet_rpc::COMMAND_RPC_GET_ACCOUNT_TAGS::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:866
bool on_get_tx_key(const wallet_rpc::COMMAND_RPC_GET_TX_KEY::request &req, wallet_rpc::COMMAND_RPC_GET_TX_KEY::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2621
bool on_generate_from_keys(const wallet_rpc::COMMAND_RPC_GENERATE_FROM_KEYS::request &req, wallet_rpc::COMMAND_RPC_GENERATE_FROM_KEYS::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:3877
bool on_get_default_fee_priority(const wallet_rpc::COMMAND_RPC_GET_DEFAULT_FEE_PRIORITY::request &req, wallet_rpc::COMMAND_RPC_GET_DEFAULT_FEE_PRIORITY::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:4813
bool on_scan_tx(const wallet_rpc::COMMAND_RPC_SCAN_TX::request &req, wallet_rpc::COMMAND_RPC_SCAN_TX::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:3453
bool on_check_reserve_proof(const wallet_rpc::COMMAND_RPC_CHECK_RESERVE_PROOF::request &req, wallet_rpc::COMMAND_RPC_CHECK_RESERVE_PROOF::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2860
bool on_start_background_sync(const wallet_rpc::COMMAND_RPC_START_BACKGROUND_SYNC::request &req, wallet_rpc::COMMAND_RPC_START_BACKGROUND_SYNC::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2367
bool not_open(epee::json_rpc::error &er)
Definition wallet_rpc_server.cpp:468
bool on_import_outputs(const wallet_rpc::COMMAND_RPC_IMPORT_OUTPUTS::request &req, wallet_rpc::COMMAND_RPC_IMPORT_OUTPUTS::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:3091
wallet_rpc_server()
Definition wallet_rpc_server.cpp:184
bool on_stop_background_sync(const wallet_rpc::COMMAND_RPC_STOP_BACKGROUND_SYNC::request &req, wallet_rpc::COMMAND_RPC_STOP_BACKGROUND_SYNC::response &res, epee::json_rpc::error &er, const connection_context *ctx=NULL)
Definition wallet_rpc_server.cpp:2382
CHAIN_HTTP_TO_MAP2(connection_context)
#define tr(x)
Definition common_defines.h:4
const char * res
Definition hmac_keccak.cpp:42
#define BEGIN_URI_MAP2()
Definition http_server_handlers_map2.h:60
#define END_JSON_RPC_MAP()
Definition http_server_handlers_map2.h:277
#define MAP_JON_RPC_WE(method_name, callback_f, command_type)
Definition http_server_handlers_map2.h:233
#define BEGIN_JSON_RPC_MAP(uri)
Definition http_server_handlers_map2.h:147
#define END_URI_MAP2()
Definition http_server_handlers_map2.h:144
#define const
Definition ipfrdr.c:80
static void init()
Definition logging.cpp:42
Definition portable_binary_archive.hpp:29
crypto namespace.
Definition crypto.cpp:60
Holds cryptonote related classes and helpers.
Definition blockchain_db.cpp:45
TODO: (mj-xmr) This will be reduced in an another PR.
Definition byte_slice.h:40
Definition enums.h:68
Definition wallet_errors.h:47
Definition wallet_rpc_server_commands_defs.h:56
Various Tools.
Definition apply_permutation.h:40
const char *const str
Definition portlistingparse.c:23
unsigned int uint32_t
Definition stdint.h:126
unsigned char uint8_t
Definition stdint.h:124
Definition net_utils_base.h:367
randomx_vm * vm
Definition tests.cpp:20