-
Notifications
You must be signed in to change notification settings - Fork 2.2k
walletrpc: document that min conf_target is 2 #9611
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
walletrpc: document that min conf_target is 2 #9611
Conversation
Important Review skippedAuto reviews are limited to specific labels. 🏷️ Labels to auto review (1)
Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this is correct? I think all implementations allow a conf target of 1, this is also used in the sweeper.
For web API,
lnd/lnwallet/chainfee/estimator.go
Lines 804 to 809 in de1ed93
if numBlocks > MaxBlockTarget { | |
numBlocks = MaxBlockTarget | |
} else if numBlocks < minBlockTarget { | |
return 0, fmt.Errorf("conf target of %v is too low, minimum "+ | |
"accepted is %v", numBlocks, minBlockTarget) | |
} |
For bitcoind it's allowed, not sure the RPC resp returned from btcd
tho.
What error did you get?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Think it's no longer relevant? cc @starius
@yyforyongyu Sorry for the delay! This is still relevant. The original error was reported here: lightninglabs/loop#898
The root-cause is that in the Loop code it was assumed that minimum valid value is 1. Loop was updated in lightninglabs/loop#899 to use 2 as the minimum. The root-cause on LND side is this code: // A confirmation target of zero doesn't make any sense. Similarly, we
// reject confirmation targets of 1 as they're unreasonable.
case req.ConfTarget == 0 || req.ConfTarget == 1:
return nil, fmt.Errorf("confirmation target must be greater " +
"than 1")
} This code is still there in 0.19.1 and in master. |
Without this notice a developer might think that 1 is a valid value, which can result in a rare bug. Example: lightninglabs/loop#898
48b16a1
to
4d4ea02
Compare
Rebased |
I think we should allow values of 1, not sure why we mark it as unreasonable tbh. |
@yyforyongyu: review reminder |
I think that code is a bit old - 1 is a legit value here, although it doesn't really give a good estimate if you are asking for conf=1. So agree with @ziggie1984 here that we should allow 1, unless we have a good reason to reject it. |
I sent another PR to allow conf_target 1: #10087 |
Change Description
Without this notice a developer might think that 1 is a valid value, which can result in a rare bug.
Example: lightninglabs/loop#898
Pull Request Checklist
Testing
Code Style and Documentation
[skip ci]
in the commit message for small changes.📝 Please see our Contribution Guidelines for further guidance.