Skip to content

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
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