0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-03-10 15:46:48 -04:00
bitcoin-core/src/wallet/test
Andrew Chow ef744c03e5
Merge bitcoin/bitcoin#25729: wallet: Check max transaction weight in CoinSelection
c7c7ee9d0b test: Check max transaction weight in CoinSelection (Aurèle Oulès)
6b563cae92 wallet: Check max tx weight in coin selector (Aurèle Oulès)

Pull request description:

  This PR is an attempt to fix #5782.

  I have added 4 test scenarios, 3 of them provided here https://github.com/bitcoin/bitcoin/issues/5782#issuecomment-73819058 (slightly modified to use a segwit wallet).

  Here are my benchmarks :
  ## PR
  |               ns/op |                op/s |    err% |          ins/op |          cyc/op |    IPC |         bra/op |   miss% |     total | benchmark
  |--------------------:|--------------------:|--------:|----------------:|----------------:|-------:|---------------:|--------:|----------:|:----------
  |        1,466,341.00 |              681.97 |    0.6% |   11,176,762.00 |    3,358,752.00 |  3.328 |   1,897,839.00 |    0.3% |      0.02 | `CoinSelection`

  ## Master

  |               ns/op |                op/s |    err% |          ins/op |          cyc/op |    IPC |         bra/op |   miss% |     total | benchmark
  |--------------------:|--------------------:|--------:|----------------:|----------------:|-------:|---------------:|--------:|----------:|:----------
  |        1,526,029.00 |              655.30 |    0.5% |   11,142,188.00 |    3,499,200.00 |  3.184 |   1,994,156.00 |    0.2% |      0.02 | `CoinSelection`

ACKs for top commit:
  achow101:
    reACK c7c7ee9d0b
  w0xlt:
    ACK c7c7ee9d0b
  furszy:
    diff ACK c7c7ee9d

Tree-SHA512: ef0b28576ff845174651ba494aa9adee234c96e6f886d0e032eceb7050296e45b099dda0039d1dfb9944469f067627b2101f3ff855c70353cf39d1fc7ee81828
2022-12-06 12:08:58 -05:00
..
fuzz refactor: move Boost datetime usage to wallet 2022-10-01 11:41:53 +01:00
availablecoins_tests.cpp Merge bitcoin/bitcoin#25077: Fix chain tip data race and corrupt rest response 2022-08-17 15:04:14 +01:00
coinselector_tests.cpp test: Check max transaction weight in CoinSelection 2022-12-05 19:32:11 +01:00
db_tests.cpp Disallow more unsafe string->path conversions allowed by path append operators 2022-04-21 12:01:00 -05:00
feebumper_tests.cpp test: Remove unused txmempool include from tests 2022-10-18 14:02:09 +02:00
init_test_fixture.cpp Disallow more unsafe string->path conversions allowed by path append operators 2022-04-21 12:01:00 -05:00
init_test_fixture.h Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
init_tests.cpp Replace use of ArgsManager with DatabaseOptions 2022-03-16 08:26:28 +01:00
ismine_tests.cpp Merge bitcoin/bitcoin#25942: test: add ismine test for descriptor ScriptPubKeyMan 2022-11-30 11:28:32 -05:00
psbt_wallet_tests.cpp doc: Delete old line of code that was commented out 2022-03-16 19:33:52 +00:00
rpc_util_tests.cpp refactor: move Boost datetime usage to wallet 2022-10-01 11:41:53 +01:00
scriptpubkeyman_tests.cpp Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
spend_tests.cpp Merge bitcoin/bitcoin#26238: clang-tidy: fixup named argument comments 2022-12-06 12:05:09 +01:00
util.cpp refactor: move DuplicateMockDatabase to wallet/test/util.h 2022-11-21 17:30:00 -03:00
util.h refactor: move DuplicateMockDatabase to wallet/test/util.h 2022-11-21 17:30:00 -03:00
wallet_crypto_tests.cpp refactor: use Span in random.* 2022-03-23 17:36:33 -05:00
wallet_test_fixture.cpp wallet: move Assert() check into constructor 2022-03-30 17:07:28 +10:00
wallet_test_fixture.h wallet: move Assert() check into constructor 2022-03-30 17:07:28 +10:00
wallet_tests.cpp Fixup clang-tidy named argument comments 2022-12-05 15:51:46 +00:00
wallet_transaction_tests.cpp Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
walletdb_tests.cpp Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
walletload_tests.cpp test: load wallet, coverage for crypted keys 2022-11-21 17:30:00 -03:00