Skip to content
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

Disallow empty fee estimates on Mainnet #249

Merged
merged 1 commit into from
Feb 12, 2024

Conversation

tnull
Copy link
Collaborator

@tnull tnull commented Feb 10, 2024

We generally want to properly be able to detect whenever a fee estimation would fail, as we need to fail startup if we can't retrieve the latest fee rates.

However, currently the convert_fee_estimates function would fallback to a default of 1sat/vbyte if the retrieved estimate map is empty. This is fine/potentially needed for, e.g., Signet where Esplora's fee-estimates endpoint would return an empty dictionary.

However, we need to detect the empty map and fail our fee estimation if we encounter such a case, rather than using the 1 sat/vbyte fallback on mainnet, where differences in fee estimation could lead to costly force-closures. Here we do this and just return a
FeerateEstimationUpdateFailed if we hit such a case.

Related issue on rust-esplora-client: bitcoindevkit/rust-esplora-client#80

We generally want to properly be able to detect whenever a fee estimation would
fail, as we need to fail startup if we can't retrieve the latest fee
rates.

However, currently the `convert_fee_estimates` function would fallback
to a default of 1sat/vbyte if the retrieved estimate map is empty. This
is fine/potentially needed for, e.g., Signet where Esplora's
`fee-estimates` endpoint would return an empty dictionary.

However, we need to detect the empty map and fail our fee estimation if
we encounter such a case, rather than using the 1 sat/vbyte fallback on
mainnet, where differences in fee estimation could lead to costly
force-closures. Here we do this and just return a
`FeerateEstimationFailed` if we hit such a case.
@tnull tnull merged commit 6dcee91 into lightningdevkit:main Feb 12, 2024
3 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants