Skip to content

Commit 734358b

Browse files
benthecarmanclaude
andcommitted
Return error for invalid onchain send fee rate
Previously, an invalid fee_rate_sat_per_vb (overflows) was silently collapsed into None via .and_then(), causing the node to substitute its default fee estimation without informing the user. Now the server returns an InvalidRequestError if the fee rate overflows. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 5bd1c61 commit 734358b

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

ldk-server/src/api/onchain_send.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,12 @@ pub(crate) async fn handle_onchain_send_request(
3030
)
3131
})?;
3232

33-
let fee_rate = request.fee_rate_sat_per_vb.and_then(FeeRate::from_sat_per_vb);
33+
let fee_rate = match request.fee_rate_sat_per_vb {
34+
Some(rate) => Some(FeeRate::from_sat_per_vb(rate).ok_or_else(|| {
35+
LdkServerError::new(InvalidRequestError, format!("Invalid fee rate: {} sat/vB", rate))
36+
})?),
37+
None => None,
38+
};
3439
let txid = match (request.amount_sats, request.send_all) {
3540
(Some(amount_sats), None) => {
3641
context.node.onchain_payment().send_to_address(&address, amount_sats, fee_rate)?

0 commit comments

Comments
 (0)