Skip to content

Commit

Permalink
Merge bitcoin#28232: test: locked_wallet, skip default fee estimation
Browse files Browse the repository at this point in the history
5364dd8 test: locked_wallet, skip default fee estimation (furszy)

Pull request description:

  Coming from bitcoin#28139 (comment).

  No test case in this file is meant to exercise fee estimation. All default wallets have a
  custom tx fee set [here](https://github.com/bitcoin/bitcoin/blob/b7138252ace6d21476964774e094ed1143cd7a1c/test/functional/wallet_fundrawtransaction.py#L100). The only one missing is the one created for `locked_wallet`.

ACKs for top commit:
  theStack:
    ACK 5364dd8

Tree-SHA512: 514c02708081d18330d759d10e306cee16c6350de243c68f0973777d2582f5d81968a237393c1f59aba245297e03f3f98d3ae5249a042469d0d016255f568719
  • Loading branch information
fanquake committed Aug 14, 2023
2 parents 6c508ac + 5364dd8 commit aadaa56
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions test/functional/wallet_fundrawtransaction.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
assert_raises_rpc_error,
count_bytes,
find_vout_for_address,
get_fee,
)
from test_framework.wallet_util import generate_keypair

Expand Down Expand Up @@ -570,6 +571,8 @@ def test_locked_wallet(self):
df_wallet = self.nodes[1].get_wallet_rpc(self.default_wallet_name)
self.nodes[1].createwallet(wallet_name="locked_wallet", descriptors=self.options.descriptors)
wallet = self.nodes[1].get_wallet_rpc("locked_wallet")
# This test is not meant to exercise fee estimation. Making sure all txs are sent at a consistent fee rate.
wallet.settxfee(self.min_relay_tx_fee)

# Add some balance to the wallet (this will be reverted at the end of the test)
df_wallet.sendall(recipients=[wallet.getnewaddress()])
Expand Down Expand Up @@ -599,8 +602,11 @@ def test_locked_wallet(self):

# Choose input
inputs = wallet.listunspent()
# Deduce fee to produce a changeless transaction
value = inputs[0]["amount"] - Decimal("0.00002200")

# Deduce exact fee to produce a changeless transaction
tx_size = 110 # Total tx size: 110 vbytes, p2wpkh -> p2wpkh. Input 68 vbytes + rest of tx is 42 vbytes.
value = inputs[0]["amount"] - get_fee(tx_size, self.min_relay_tx_fee)

outputs = {self.nodes[0].getnewaddress():value}
rawtx = wallet.createrawtransaction(inputs, outputs)
# fund a transaction that does not require a new key for the change output
Expand Down

0 comments on commit aadaa56

Please sign in to comment.