Merge bitcoin/bitcoin#25379: test: use MiniWallet to simplify mempool_package_limits.py tests#1202
Conversation
…_limits.py tests
|
Warning Rate limit exceeded@DashCoreAutoGuix has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 5 minutes and 56 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (2)
✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Dependency IssueThis PR backports Bitcoin bitcoin#25379, which introduces parameter to MiniWallet's methods. However, this implementation has a known issue: when is used without explicitly specifying a parameter, the transaction fee is calculated for the base transaction size (before padding), resulting in an insufficient fee rate after padding. Test FailureThe test fails with: This occurs because:
Required DependencyBitcoin PR bitcoin#30162 ( This PR requires Bitcoin bitcoin#30162 to be backported first. Timeline
|
Dependency IssueThis PR backports Bitcoin bitcoin#25379, which introduces the target_weight parameter to MiniWallet's create_self_transfer methods. However, this implementation has a known issue: when target_weight is used without explicitly specifying a fee parameter, the transaction fee is calculated for the base transaction size (before padding), resulting in an insufficient fee rate after padding. Test FailureThe test mempool_package_limits.py test_anc_size_limits() fails with:
This occurs because:
Required DependencyBitcoin PR bitcoin#30162 (commit e6e4c18) fixes this issue by making MiniWallet properly calculate fees when both target_weight and fee_rate are specified together. That PR was merged on 2024-06-11, nearly 2 years after bitcoin#25379 (merged 2022-08-03). This PR requires Bitcoin bitcoin#30162 to be backported first. Timeline
|
Backports bitcoin#25379
Original commit: 9155f9b
Summary
mempool_package_limits.pyfunctional tests with MiniWallet usagetarget_weightparameter tocreate_self_transferandcreate_self_transfer_multimethodsbulk_transactionfunction in favor of_bulk_txmethod in MiniWalletsend_self_transfer_chainmethod for creating chains of transactionsChanges from Bitcoin
WITNESS_SCALE_FACTORreferences (Dash doesn't have SegWit)make_chain,create_child_with_parents,create_raw_chainas they're still used by other Dash teststarget_weightcalculation without witness scale factorScope