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)
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.
@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.