elements/src/wallet
Andrew Chow 66c08e741d
Merge bitcoin/bitcoin#24865: rpc: Enable wallet import on pruned nodes and add test
564b580bf0 test: Introduce MIN_BLOCKS_TO_KEEP constant (Aurèle Oulès)
71d9a7c03b test: Wallet imports on pruned nodes (Aurèle Oulès)
e6906fcf9e rpc: Enable wallet import on pruned nodes (Aurèle Oulès)

Pull request description:

  Reopens #16037

  I have rebased the PR, addressed the comments of the original PR and added a functional test.

  > Before this change importwallet fails if any block is pruned. This PR makes it possible to importwallet if all required blocks aren't pruned. This is possible because the dump format includes key timestamps.

  For reviewers:
  `python test/functional/wallet_pruning.py --nocleanup` will generate a large blockchain (~700MB) that can be used to manually test wallet imports on a pruned node. Node0 is not pruned, while node1 is.

ACKs for top commit:
  kouloumos:
    ACK 564b580bf0
  achow101:
    reACK 564b580bf0
  furszy:
    ACK 564b580
  w0xlt:
    ACK https://github.com/bitcoin/bitcoin/pull/24865/commits/564b580bf07742483a140c7c095b896a6d5d6cad

Tree-SHA512: b345a6c455fcb6581cdaa5f7a55d79e763a55cb08c81d66be5b12794985d79cd51b9b39bdcd0f7ba0a2a2643e9b2ddc49310ff03d16b430df2f74e990800eabf
2022-12-16 17:30:57 -05:00
..
rpc Merge bitcoin/bitcoin#24865: rpc: Enable wallet import on pruned nodes and add test 2022-12-16 17:30:57 -05:00
test Merge bitcoin/bitcoin#25729: wallet: Check max transaction weight in CoinSelection 2022-12-06 12:08:58 -05:00
bdb.cpp Merge bitcoin/bitcoin#25499: Use steady clock for all millis bench logging 2022-09-16 11:10:15 +01:00
bdb.h scripted-diff: replace non-standard fixed width integer types (u_int... -> uint`...) 2022-05-12 15:44:24 +02:00
coincontrol.cpp
coincontrol.h wallet: skip available coins fetch if "other inputs" are disallowed 2022-10-26 15:47:51 -03:00
coinselection.cpp wallet: Check max tx weight in coin selector 2022-12-05 19:32:11 +01:00
coinselection.h wallet: Check max tx weight in coin selector 2022-12-05 19:32:11 +01:00
context.cpp refactor: use C++11 default initializers 2022-05-17 17:18:58 +01:00
context.h
crypter.cpp
crypter.h
db.cpp Replace use of ArgsManager with DatabaseOptions 2022-03-16 08:26:28 +01:00
db.h Replace use of ArgsManager with DatabaseOptions 2022-03-16 08:26:28 +01:00
dump.cpp Fixup clang-tidy named argument comments 2022-12-05 15:51:46 +00:00
dump.h Replace use of ArgsManager with DatabaseOptions 2022-03-16 08:26:28 +01:00
external_signer_scriptpubkeyman.cpp GetExternalSigner(): fail if multiple signers are found 2022-06-09 20:34:46 +02:00
external_signer_scriptpubkeyman.h
feebumper.cpp Merge bitcoin/bitcoin#25775: docs: remove non-signaling mentions of BIP125 2022-08-22 10:35:26 +01:00
feebumper.h bumpfee: be able to bump fee of a tx with external inputs 2022-08-19 11:27:01 -04:00
fees.cpp Fixup clang-tidy named argument comments 2022-12-05 15:51:46 +00:00
fees.h
init.cpp scripted-diff: Avoid incompatibility with CMake AUTOUIC feature 2022-06-14 10:38:51 +02:00
interfaces.cpp Merge bitcoin/bitcoin#26298: refactor: Move src/interfaces/*.cpp files to libbitcoin_common.a 2022-12-07 14:54:23 +00:00
ismine.h
load.cpp wallet: trigger MaybeResendWalletTxs() every minute 2022-08-25 14:29:25 +01:00
load.h
receive.cpp Merge bitcoin/bitcoin#25707: refactor: Make const references to avoid unnecessarily copying objects and enable two clang-tidy checks 2022-08-19 17:11:06 +02:00
receive.h Merge bitcoin/bitcoin#25504: RPC: allow to track coins by parent descriptors 2022-08-16 13:08:05 -04:00
salvage.cpp Replace use of ArgsManager with DatabaseOptions 2022-03-16 08:26:28 +01:00
salvage.h Replace use of ArgsManager with DatabaseOptions 2022-03-16 08:26:28 +01:00
scriptpubkeyman.cpp psbt: Include output pubkey in additional pubkeys to sign 2022-10-28 20:03:22 -04:00
scriptpubkeyman.h wallet: add method for retrieving the end range for a ScriptPubKeyMan 2022-10-25 15:57:38 +02:00
spend.cpp Merge bitcoin/bitcoin#26668: wallet: if only have one output type, don't perform "mixed" coin selection 2022-12-14 16:16:03 -05:00
spend.h wallet: if only have one output type, don't perform "mixed" coin selection 2022-12-08 15:56:36 -03:00
sqlite.cpp scripted-diff: Convert global Mutexes to GlobalMutexes 2022-05-21 01:23:23 +10:00
sqlite.h Replace use of ArgsManager with DatabaseOptions 2022-03-16 08:26:28 +01:00
transaction.cpp
transaction.h wallet: Deduplicate Resend and ReacceptWalletTransactions 2022-08-29 12:38:06 -04:00
wallet.cpp Merge bitcoin/bitcoin#26298: refactor: Move src/interfaces/*.cpp files to libbitcoin_common.a 2022-12-07 14:54:23 +00:00
wallet.h Merge bitcoin/bitcoin#26302: refactor: Use type-safe time point for CWallet::m_next_resend 2022-10-24 10:11:13 +08:00
walletdb.cpp Merge bitcoin/bitcoin#26462: wallet: fix crash on loading descriptor wallet containing legacy key type entries 2022-12-05 17:37:48 -05:00
walletdb.h wallet: throw error if legacy entries are present on loading descriptor wallets 2022-11-08 12:29:12 +01:00
wallettool.cpp Fixup clang-tidy named argument comments 2022-12-05 15:51:46 +00:00
wallettool.h
walletutil.cpp
walletutil.h Implement LegacyScriptPubKeyMan::MigrateToDescriptor 2022-08-25 16:25:53 -04:00