298@@ -299,8 +299,9 @@ def do_test_sendtoaddress(self, comment, pattern, privmap, treefn, keys_pay, key
299 self.generatetoaddress(self.nodes[0], 1, self.boring.getnewaddress(), sync_fun=self.no_op)
300 test_balance = int(rpc_online.getbalance() * 100000000)
301 ret_amnt = random.randrange(100000, test_balance)
302- # Increase fee_rate to compensate for the wallet's inability to estimate fees for script path spends.
303- res = rpc_online.sendtoaddress(address=self.boring.getnewaddress(), amount=Decimal(ret_amnt) / 100000000, subtractfeefromamount=True, fee_rate=200)
304+ res = rpc_online.sendtoaddress(address=self.boring.getnewaddress(), amount=Decimal(ret_amnt) / 100000000, subtractfeefromamount=True, fee_rate=10)
305+ txinfo = rpc_online.gettransaction(txid=res, verbose=True)
306+ assert_fee_enough(-txinfo["fee"], txinfo["decoded"]["vsize"], Decimal(0.00010000))
Do I understand right that this test will try the whole battery of different script trees seen below and uses the maximal estimate across script trees, so if there are multiple different leaves that we can satisfy, our transaction might overpay, but no longer underpay?