bitcoin: bumpfee RPC not working as expected since 0.19.0.1

Expected behavior Transaction should be replaced with another with bumped fees (lower confTarget) as it was in <=v0.18.

Actual behavior Transaction was sent with sendmany request with replaceable=true and conf_target=3. Then I’ve tried to override confTarget to 1 with RPC. Assuming that I haven’t specified paytxfee value in node’s config.

curl -u myusername:pass --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "bumpfee", "params": ["hash"] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/

Response:

{
  "txid": "hash",
  "origfee": 0.00000247,
  "fee": 0.00001237,
  "errors": [
  ]
}

Then I got this in logs: Fee Calculation: Fee:1050 Bytes:168 Needed:1050 Tgt:0 (requested 0) Reason:"PayTxFee set" Decay 0.00000: Estimation: (-1 - -1) -nan% 0.0/(0.0 0 mem 0.0 out) Fail: (-1 - -1) -nan% 0.0/(0.0 0 mem 0.0 out)

Some interesting observation: I was trying to do this with bitcoin-cli without specifying confTarget option and it has succeeded: bitcoin-cli bumpfee <hash>

But with confTarget option it fails despite success response from node: bitcoin-cli bumpfee <hash> "{\"confTarget\": 1}"

The same issue even if I’m not providing confTarget: curl -u myusername:pass --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "bumpfee", "params": ["hash"] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/

To reproduce Make a send with conf_target greater than 1 and try to bump fees.

System information

Official Bitcoin Core v0.19.0.1 CentOS Linux 7.7.1908

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 23 (14 by maintainers)

Most upvoted comments

Did another related test, bumping it twice from 30->5->1(same as 2), and all resulting mempool entries appear to be the exact correct feerate as per estimator values.

Ok! That’s a very different(And more probable!) error.

If you call bumpfee with “2” as the confTarget, does that work? I’d expect it to break identically.

@instagibbs It’s failing anyway, regardless any pair of confirmation targets, assuming I always stick with rule “bumped confTaget < transaction confTarget”. I’ve tried to send with confTarget=6 and to bump it to 2 or 3. All the same.

The only one working case is by using bitcoin-cli: bitcoin-cli bumpfee <hash>

Sigh, we really need a “mock fee estimation” RPC call for test writing. I’m trying to replicate.

@instagibbs Seems like it’s not adding to mempool at all. At least there is no info about this in logs.