bitcoin/src/wallet
W. J. van der Laan 46b4937bc1
Merge bitcoin/bitcoin#23142: Return false on corrupt tx rather than asserting
0ab4c3b272 Return false on corrupt tx rather than asserting (Samuel Dobson)

Pull request description:

  Takes up #19793

  Rather than asserting, we log an error and return CORRUPT so that the user is informed. This type of error isn't critical so it isn't worth `assert`ing.

ACKs for top commit:
  achow101:
    ACK 0ab4c3b272
  laanwj:
    Code review ACK 0ab4c3b272
  ryanofsky:
    Code review ACK 0ab4c3b272. There may be room for more improvements later like better error messages or easier recovery options, but changing from an assert to an error seems like a clear improvement, and this seems to avoid all the pitfalls of the last PR that tried this.

Tree-SHA512: 4a1a412e7c473d176c4e09123b85f390a6b0ea195e78d28ebd50b13814b7852f8225a172511a2efb6affb555b11bd4e667c19eb8c78b060c5444b62f0fae5f7a
2021-10-01 10:32:10 +02:00
..
test Remove -rescan startup parameter 2021-09-30 12:06:27 +13:00
bdb.cpp scripted-diff: Rename overloaded int GetArg to GetIntArg 2021-09-27 06:57:20 -04:00
bdb.h wallet: Add BerkeleyDB version sanity check at init time 2021-01-17 18:10:20 +01:00
coincontrol.cpp refactor: Drop CCoinControl::SetNull 2021-04-18 21:10:47 +01:00
coincontrol.h rpc: include_unsafe option for fundrawtransaction 2021-04-30 18:53:47 +02:00
coinselection.cpp Merge bitcoin/bitcoin#23104: log: Avoid breaking single log lines over multiple lines in the log file 2021-09-30 14:42:11 +02:00
coinselection.h Add SelectCoinsSRD function 2021-09-23 13:33:25 -04:00
context.cpp Remove g_rpc_chain global 2020-05-28 02:13:19 -04:00
context.h refactor: remove ::vpwallets and related global variables 2021-08-17 04:05:15 -04:00
crypter.cpp refactor: Replace &foo[0] with foo.data() 2021-05-04 06:55:31 +02:00
crypter.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
db.cpp Merge bitcoin/bitcoin#21944: wallet: Fix issues when walletdir is root directory 2021-06-09 22:53:36 +12:00
db.h refactor: post Optional<> removal cleanups 2021-03-17 14:56:20 +08:00
dump.cpp refactor: move first run detection to client code 2021-05-19 08:50:16 +02:00
dump.h wallettool: Add createfromdump command 2020-12-16 12:33:06 -05:00
external_signer_scriptpubkeyman.cpp Merge bitcoin/bitcoin#21365: Basic Taproot signing support for descriptor wallets 2021-06-18 09:12:44 +12:00
external_signer_scriptpubkeyman.h refactor: remove m_internal from DescriptorSPKman 2021-06-30 08:37:50 +02:00
feebumper.cpp refactor: Detach wallet transaction methods (followup for move-only) 2021-09-01 02:22:58 -05:00
feebumper.h wallet: Avoid translating RPC errors when creating txs 2020-05-01 07:39:06 -04:00
fees.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
fees.h Remove uses of fee globals in wallet code 2019-02-22 15:43:02 -04:00
init.cpp Remove -rescan startup parameter 2021-09-30 12:06:27 +13:00
interfaces.cpp Make GUI UTXO lock/unlock persistent 2021-09-25 23:50:06 +12:00
ismine.h doc: Add developer documentation to isminetype 2021-01-19 19:04:45 +08:00
load.cpp Enable clang-tidy bugprone-argument-comment and fix violations 2021-09-07 09:11:10 +02:00
load.h refactor: remove ::vpwallets and related global variables 2021-08-17 04:05:15 -04:00
receive.cpp refactor: Detach wallet transaction methods (followup for move-only) 2021-09-01 02:22:58 -05:00
receive.h refactor: Detach wallet transaction methods (followup for move-only) 2021-09-01 02:22:58 -05:00
rpcdump.cpp Remove -rescan startup parameter 2021-09-30 12:06:27 +13:00
rpcwallet.cpp Remove -rescan startup parameter 2021-09-30 12:06:27 +13:00
rpcwallet.h refactor: replace util::Ref by std::any (C++17) 2021-03-29 23:29:42 +02:00
salvage.cpp Remove -rescan startup parameter 2021-09-30 12:06:27 +13:00
salvage.h wallettool: Have RecoverDatabaseFile return errors and warnings 2020-07-26 20:22:45 -04:00
scriptpubkeyman.cpp scripted-diff: Rename overloaded int GetArg to GetIntArg 2021-09-27 06:57:20 -04:00
scriptpubkeyman.h refactor: Remove unused KeyIDHasher 2021-08-22 17:31:58 +02:00
spend.cpp Use SelectCoinsSRD if it has less waste 2021-09-23 13:33:25 -04:00
spend.h refactor: Detach wallet transaction methods (followup for move-only) 2021-09-01 02:22:58 -05:00
sqlite.cpp wallet: enable SQLite extended result codes 2021-09-28 00:40:13 +02:00
sqlite.h doc: fix various typos 2021-01-04 12:31:31 +08:00
transaction.cpp MOVEONLY: CWallet transaction code out of wallet.cpp/.h 2021-05-26 06:32:51 -05:00
transaction.h wallet: refactor: avoid duplicate lookup on mapValue["timesmart"] 2021-09-12 23:41:32 +02:00
wallet.cpp scripted-diff: rename DBErrors::RESCAN_REQUIRED to NEED_RESCAN 2021-10-01 11:02:32 +13:00
wallet.h Corrupt wallet tx shouldn't trigger rescan of all wallets 2021-09-30 12:06:27 +13:00
walletdb.cpp Merge bitcoin/bitcoin#23142: Return false on corrupt tx rather than asserting 2021-10-01 10:32:10 +02:00
walletdb.h scripted-diff: rename DBErrors::RESCAN_REQUIRED to NEED_RESCAN 2021-10-01 11:02:32 +13:00
wallettool.cpp scripted-diff: rename DBErrors::RESCAN_REQUIRED to NEED_RESCAN 2021-10-01 11:02:32 +13:00
wallettool.h refactor: Move all command dependend checks to ExecuteWalletToolFunc 2021-01-21 19:30:34 +01:00
walletutil.cpp scripted-diff: Replace GetDataDir() calls with gArgs.GetDataDirNet() calls 2021-05-24 10:29:58 +02:00
walletutil.h wallet: Upgrade existing descriptor caches 2021-06-24 13:49:22 -04:00