[0.21] wallet: Avoid requesting fee rates multiple times during coin selection #21520
pull achow101 wants to merge 5 commits into bitcoin:0.21 from achow101:0.21-createtx-same-feerate changing 4 files +58 −34-
achow101 commented at 4:50 am on March 24, 2021: memberBackport of #21083
-
wallet: Use existing feerate instead of getting a new one
During each loop of CreateTransaction, instead of constantly getting a new feerate, use the feerate that we have already fetched for all fee calculations. Thix fixes a race condition where the feerate required changes during each iteration of the loop. This commit changes behavior as the "Fee estimation failed" error will now take priority over "Signing transaction failed". Github-Pull: #21083 Rebased-From: 1a6a0b0dfb90f9ebd4b86d7934c6aa5594974f5f
-
wallet: Replace nFeeRateNeeded with effective_fee
Make sure that all fee calculations use the same feerate. coin_selection_params.effective_fee is the variable we use for all fee calculations, so get rid of remaining nFeeRateNeeded usages and just directly set coin_selection_params.effective_fee. Does not change behavior. Github-Pull: #21083 Rebased-From: e2f429e6bbf7098f278c0247b954ecd3ba53cf37
-
wallet: Move long term feerate setting to CreateTransaction
Instead of setting the long term feerate for each SelectCoinsMinConf iteration, set it once during CreateTransaction and let it be shared with each SelectCoinsMinConf through coin_selection_params.m_long_term_feerate. Does not change behavior. Github-Pull: #21083 Rebased-From: 448d04b931f86941903e855f831249ff5ec77485
-
wallet: Move discard feerate fetching to CreateTransaction
Instead of fetching the discard feerate for each SelectCoinsMinConf iteration, fetch and cache it once during CreateTransaction so that it is shared for each SelectCoinsMinConf through coin_selection_params.m_discard_feerate. Does not change behavior. Github-Pull: #21083 Rebased-From: bdd0c2934b7f389ffcfae3b602ee3ecee8581acd
-
fanquake added the label Backport on Mar 24, 2021
-
fanquake added this to the milestone 0.21.1 on Mar 24, 2021
-
in src/wallet/test/coinselector_tests.cpp:300 in 4b7d19d456 outdated
299@@ -300,7 +300,7 @@ BOOST_AUTO_TEST_CASE(bnb_search_test) 300 CCoinControl coin_control;
MarcoFalke commented at 11:54 am on April 1, 2021:Any reason to not rename in line 269?
achow101 commented at 4:44 pm on April 1, 2021:Missed it when resolving conflicts. Done.MarcoFalke commented at 11:54 am on April 1, 2021: membercherry-pick-only ACK 4b7d19d456a3a1e54bc6f24d4b4e7e8f417896df 🐒
Signature:
0-----BEGIN PGP SIGNED MESSAGE----- 1Hash: SHA512 2 3cherry-pick-only ACK 4b7d19d456a3a1e54bc6f24d4b4e7e8f417896df 🐒 4-----BEGIN PGP SIGNATURE----- 5 6iQGzBAEBCgAdFiEE+rVPoUahrI9sLGYTzit1aX5ppUgFAlwqrYAACgkQzit1aX5p 7pUil9wwAvjp9CweUIZcOEI6yjlm/XfbmPfpsNi20feQmD0jg/crBv4zwIRzdAY4L 8zuzIhrJ9eG4ylMzQviuAtTS2UBx7BhQCBrMY3ZCNqZSS9m49zT/uhXdlXYXVacIG 9prL/i1oL5J77jgxCrt3+zVC6XfO1BHXk8GgA2vWnIpI2MbNC3xS6ulZ2mbTosjsy 10QlMv/0+H1qWLmK8Ce6t2S4EszyMHpsiatmIgJsLboIM1NpnwLPoXP7PFbJWW8wEx 11eGe7yKd1UldUe6ryu9DOdcWsWNyZzHu9RHVlu5Q9UqUGF0CoXrdLQbC+kX1KcSE6 12T0wMNdCN1udoDT3+uUxAtZJsBFbLKqQwhtZBvfHueZrVgAP5fIb9rABMvlBR2jOF 13KGw287OdGzh46r/A+GC4sfZRRtol0gR9vr6TlfwU3m+tWO7LfO2YvdjQO6oX5YJS 149m1o4i/f8PEcae1L3SSTiGpZ92mcvNolk3Q+Yr9JfEvaGTmH5m4Rj00zJ7lG4pNG 15GpufZO4/ 16=kp7c 17-----END PGP SIGNATURE-----
Timestamp of file with hash
03e63e4b18da74fc9ba5be4a98a589d33a69777e74b0004659c5bb473a8cb037 -
Rename CoinSelectionParams::effective_fee to m_effective_feerate
It's a feerate, not a fee. Also follow the style guide for member names. Github-Pull: #21083 Rebased-From: f9cd2bfbccb7a2b8ff07cec5f6d2adbeca5f07c3
achow101 force-pushed on Apr 1, 2021MarcoFalke commented at 4:47 pm on April 1, 2021: membercherry-pick-only re-ACK d61fb07da7c12e4a1f68cf645f32d563a657a506 🔙
Signature:
0-----BEGIN PGP SIGNED MESSAGE----- 1Hash: SHA512 2 3cherry-pick-only re-ACK d61fb07da7c12e4a1f68cf645f32d563a657a506 🔙 4-----BEGIN PGP SIGNATURE----- 5 6iQGzBAEBCgAdFiEE+rVPoUahrI9sLGYTzit1aX5ppUgFAlwqrYAACgkQzit1aX5p 7pUgBiwv+PHpjTYKRtUK3v9bYTZ2I0v6hzlydy0CNQAAm1XgJpy0moxairts8I8PL 8Gi2dFUw7Utu/dFrucFjnr5SZjK7DyvehGnDSYuLjbNmQqinccmB02ulyrsheuGlT 9izIpiku1EjqgBwYpyOg8qq8eAdQ/Ns9CJvnR+LUkXLhkkGr9YE44TcMDFCqJQKEb 10y+g6V8J/zTnEnPiUmzeNYMVSTXhfROsblX3jFklb4AyjcvwqJExdq17vGq1aGQ3K 11iC+vTmjaXzsliH+Y8x/MtRpf6Z3w8kEw09qGYD9lwSzFD6e0RhrbsEDePdhY/A+b 12hv+Xtw25E4SFwpK88AOIhRowOzx6YdV9kO/o5VtaR6a0goqF8r9IF8GefJPzf6Z2 13F5xo15FNz08k3sVpzwcaoZY275amIwVi51AoQwBSk4a0WmhQU/gbwFZ0x2puJ+uw 142xUw6VqD3QjGMQA+IefHnfmCULH7iM9nrzMgnxLG9J5Q1aAmHAo0I4DlM8DKolDW 15aRM7tnY3 16=Wqy6 17-----END PGP SIGNATURE-----
Timestamp of file with hash
da605e100922a3feb0ef43fceeae52979a9cfa9e2e57a77c72f8deef904034d7 -
fanquake requested review from fjahr on Apr 15, 2021fanquake requested review from meshcollider on Apr 15, 2021fanquake requested review from instagibbs on Apr 16, 2021instagibbs commented at 1:35 am on April 16, 2021: memberfanquake merged this on Apr 16, 2021fanquake closed this on Apr 16, 2021
fjahr commented at 10:21 pm on April 16, 2021: memberCode review ACK d61fb07da7c12e4a1f68cf645f32d563a657a506DrahtBot locked this on Aug 16, 2022
github-metadata-mirror
This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-12-18 15:12 UTC
This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-12-18 15:12 UTC
This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me
More mirrored repositories can be found on mirror.b10c.me