19 Commits
Author SHA1 Message Date
merge-script f2f5619360 Merge bitcoin/bitcoin#34709: wallet, test: improve wallet functional tests
5c005363a8 test: improve `wallet_backup` test (rkrux)
04d9515748 test: improve `wallet_assumeutxo` func test (rkrux)

Pull request description:

  Relates to #34354

  While the actual fix of the issue is in another PR, this one improves the
  affected tests by trying to reduce the chain notifications that
  need to be processed while simulating erroneous wallet restoration
  scenarios.

ACKs for top commit:
  maflcko:
    lgtm ACK 5c005363a8
  furszy:
    ACK 5c005363a8
  w0xlt:
    ACK 5c005363a8
  brunoerg:
    code review ACK 5c005363a8

Tree-SHA512: 176e3ea8275c7aa082af695f5b76d82c079ff9a7178855b4ce95504edb8ce89b59a772e2d38dd43e997a5bea3d64be700b74cfec7bbc6992538f837877ab7222
2026-03-05 11:19:00 +00:00
MarcoFalke faa68ed4bd test: Fix intermittent issue in wallet_assumeutxo.py 2026-03-04 17:43:15 +01:00
rkrux 04d9515748 test: improve wallet_assumeutxo func test
Reduce the number of blocks that need to be generated before pruning
the blockchain.

Unload the wallet that was restored in a prior test because it is not
needed anymore after the test.

Both the above steps should reduce the number of chain notifications
that need to be processed by the wallet(s) when an erroneous scenario
of restoring wallet is checked.
2026-03-02 14:28:46 +05:30
Yash Bhutwala 5cd57943b8 test: verify node state after restart in assumeutxo
Replace the TODO comment in wallet_assumeutxo.py with actual test
assertions that verify node and wallet behavior after a restart
during assumeutxo background sync.

The new tests verify:
- Two chainstates exist (background validation not complete)
- Background chainstate is still at START_HEIGHT
- Snapshot chainstate has synced to at least PAUSE_HEIGHT
- Wallets cannot be loaded after restart (expected behavior during
  background sync because blocks before snapshot are unavailable
  for rescanning)
- Wallet backup from before snapshot height cannot be restored

This documents the expected behavior that wallets cannot be loaded
after a node restart during assumeutxo background sync, which is
an important edge case for users to be aware of.

refs #28648
2026-01-23 09:32:53 -05:00
Fabian Jahr e1dc4afeeb test: Rename wallet name in restore attempt in wallet_assumeutxo
This prevents potential intermittend failures on windows when the wallet by the same name from the previous test case hasn't been cleaned up yet by it's process.
2026-01-22 00:24:43 +01:00
Alfonso Roman Zubeldia cb7d5bfe4a test, assumeutxo: loading a wallet (backup) on a pruned node 2025-12-02 09:43:06 -03:00
Alfonso Roman Zubeldia 7a365244f8 test, refactor snapshot import and background validation
Move snapshot import validation and background validation logic
into dedicated helper functions.
2025-12-02 09:27:32 -03:00
Antoine Poinsot 8f2078af6a miner: timelock coinbase transactions
The Consensus Cleanup soft fork proposal includes enforcing that coinbase transactions set their
locktime field to the block height, minus 1 (as well as their nSequence such as to not disable the
timelock). If such a fork were to be activated by Bitcoin users, miners need to be ready to produce
compliant blocks at the risk of losing substantial amounts mining would-be invalid blocks. As miners
are unfamously slow to upgrade, it's good to make this change as early as possible.

Although Bitcoin Core's GBT implementation does not provide the "coinbasetxn" field, and mining
pool software crafts the coinbase on its own, updating the Bitcoin Core mining code is a first step
toward convincing pools to update their (often closed source) code. A possible followup is also to
introduce new fields to GBT. In addition, this first step also makes it possible to test future
Consensus Cleanup changes.

The changes to the seemingly-unrelated RBF tests is because these tests assert an error message
which may vary depending on the txid of the transactions used in the test. This commit changes the
coinbase transaction structure and therefore impact the txid of transactions in all tests.

The change to the "Bad snapshot" error message in the assumeutxo functional test is because this
specific test case reads into the txid of the next transaction in the snapshot and asserts the error
message based it gets on deserializing this txid as a coin for the previous transaction. As this
commit changes this txid it impacts the deserialization error raised.
2025-04-25 12:44:08 -04:00
Ava Chow c847dee148 test: remove legacy wallet functional tests
Removes all legacy wallet specific functional tests.

Also removes the --descriptor and --legacy-wallet options as these are
no longer necessary with the legacy wallet removed.
2025-04-23 12:10:30 -07:00
Fabian Jahr 9d2d9f7ce2 rpc: Include assumeutxo as a failure reason of rescanblockchain 2025-01-05 17:28:34 +01:00
Alfonso Roman Zubeldia 595edee169 test, assumeutxo: import descriptors during background sync 2025-01-05 17:28:34 +01:00
Martin Zumsande bc43ecaf6d test: add functional test for balance after snapshot completion
Use a third node for this, which doesn't get restarted like the second
node.
This test would fail without the previous commit.
2024-12-26 12:11:28 -05:00
Fabian Jahr f20fe33e94 test: Add basic balance coverage to wallet_assumeutxo.py 2024-09-22 19:19:12 +02:00
Fabian Jahr 7e3dbe4180 wallet: Write best block to disk before backup
This ensures that the best block is included in the backup which leads to a more consistent behavior when loading the backup.
2024-09-20 17:16:35 +02:00
Fabian Jahr 993cafe7e4 RPC: Add type parameter to dumptxoutset 2024-09-01 20:56:38 +02:00
Hennadii Stepanov a0473442d1 scripted-diff: Add __file__ argument to BitcoinTestFramework.init()
-BEGIN VERIFY SCRIPT-
sed -i -e 's/\s*().main\s*()/(__file__).main()/' $(git ls-files test/functional/*.py)
sed -i -e 's/def __init__(self)/def __init__(self, test_file)/' test/functional/test_framework/test_framework.py
-END VERIFY SCRIPT-
2024-07-16 22:06:47 +01:00
Fabian Jahr 2bc1ecfaa9 test: Remove unnecessary sync_blocks in assumeutxo tests
The nodes are not connected at this point and no blocks have been mined, so it does not seem do anything
2024-02-26 17:04:46 +01:00
MarcoFalke fa5cd66f0a test: Assumeutxo with more than just coinbase transactions 2024-01-31 12:39:51 +01:00
Sjors ProvoostandMarcoFalke 997b9a73e5 test: add assumeutxo wallet test
Co-Authored-By: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>
2023-11-13 15:19:12 +04:00