mirror of
https://github.com/monero-project/monero.git
synced 2025-02-07 08:33:44 +02:00
fde7c96b5c
When forced to deal with an untrusted node, a wallet will quantize its current height to disguise the real height to the adversary, to try and minimize the daemon's ability to distinguish returning wallets. Daemons will thus return more blocks than the wallet needs, starting from earlier in the chain. These extra blocks will be disregarded by the wallet, which had already scanned them. However, for the purposes of reorg size detection, the wallet assumes all blocks the daemon sends are different, which is only correct if the wallet hasn't been coy, which is only the case for trusted daemons (which you should use). This causes an issue when the size of this "fake reorg" is above the sanity check threshold at which the wallet refuses a reorg. To fix this, the reorg size check is moved later on, when the reorg is about to actually happen, after the wallet has checked which blocks are actually different from the ones it expects. |
||
---|---|---|
.. | ||
api | ||
CMakeLists.txt | ||
message_store.cpp | ||
message_store.h | ||
message_transporter.cpp | ||
message_transporter.h | ||
node_rpc_proxy.cpp | ||
node_rpc_proxy.h | ||
ringdb.cpp | ||
ringdb.h | ||
wallet2.cpp | ||
wallet2.h | ||
wallet_args.cpp | ||
wallet_args.h | ||
wallet_errors.h | ||
wallet_light_rpc.h | ||
wallet_rpc_helpers.h | ||
wallet_rpc_payments.cpp | ||
wallet_rpc_server_commands_defs.h | ||
wallet_rpc_server_error_codes.h | ||
wallet_rpc_server.cpp | ||
wallet_rpc_server.h |